/* ==========================================================================
   SGI · Repositorio MINERVA · hoja de estilos pública · [MINERVA-UI-V4]
   Rediseño SOLO visual alineado con el ecosistema Red SUMMA (carbón + amarillo
   institucional, Geist / Geist Mono, bandas oscuras, mega-menú, tarjetas limpias).
   La hoja vive en un archivo (antes era un <style> en _header.php) para que el
   navegador la guarde en caché entre páginas y cada HTML pese menos.
   Todo el contenido funciona sin JavaScript; el JS solo añade mejoras progresivas.
   ========================================================================== */

:root {
    --mn-carbon:#302F2A;      /* bandas, cabecera, pie, botones oscuros */
    --mn-carbon-2:#3D3C36;    /* degradado de portadas */
    --mn-carbon-3:#24231E;    /* barra superior */
    --mn-carbon-4:#3A3934;    /* cajas sobre banda */
    --mn-amarillo:#EBE100;    /* acento institucional (unificado con la landing) */
    --mn-amarillo-hover:#D9CF00;
    --mn-amarillo-suave:#F7F4C8;
    --mn-amarillo-borde:#E9E28A;
    --mn-bg:#F4F2EA;
    --mn-surface:#FFFFFF;
    --mn-border:#E4DFD2;
    --mn-border-2:#EBE8DC;
    --mn-border-3:#DCD7C7;
    --mn-text:#24231D;
    --mn-text-2:#3D3C36;
    --mn-text-3:#57534A;
    --mn-muted:#6D695C;
    --mn-muted-soft:#8E8A7C;
    --mn-on-dark:#CFCBBE;
    --mn-on-dark-2:#DAD6C9;
    --mn-on-dark-3:#B7B3A6;
    --mn-radius-xl:22px; --mn-radius-lg:18px; --mn-radius:16px; --mn-radius-md:14px;
    --mn-radius-sm:10px; --mn-radius-xs:8px; --mn-radius-pill:999px;
    --mn-shadow-sm:0 1px 2px rgba(48,47,42,.04), 0 6px 18px -10px rgba(48,47,42,.18);
    --mn-shadow-hover:0 0 0 1px var(--mn-amarillo), 0 24px 50px -26px rgba(48,47,42,.45);
    --mn-shadow-menu:0 40px 80px -30px rgba(36,35,30,.45);
    --mn-sans:'Geist', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
    --mn-mono:'Geist Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
    --mn-max:1280px;
    /* Nombres del diseño anterior: se conservan como alias para no romper estilos en línea heredados */
    --mn-gris:var(--mn-carbon); --mn-gris-oscuro:var(--mn-carbon-3); --mn-negro-azul:var(--mn-text);
}

* { box-sizing:border-box; }
html, body { margin:0; padding:0; }
html { scroll-behavior:smooth; }
body {
    font-family:var(--mn-sans); color:var(--mn-text); background:var(--mn-bg);
    font-size:15px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
img { max-width:100%; }
a { color:inherit; }
h1, h2, h3, h4 { font-weight:600; letter-spacing:-.02em; color:var(--mn-text); }

/* ---------- Accesibilidad: foco visible y skip-link ---------- */
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible, label:focus-visible, [tabindex]:focus-visible {
    outline:3px solid var(--mn-amarillo); outline-offset:2px; border-radius:6px;
}
.mn-skip {
    position:absolute; left:-9999px; top:0; z-index:2000;
    background:var(--mn-amarillo); color:var(--mn-carbon);
    padding:10px 18px; font-weight:600; font-size:13px;
    border-radius:0 0 var(--mn-radius-sm) 0; text-decoration:none;
}
.mn-skip:focus { left:0; }
.mn-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.mn-mono { font-family:var(--mn-mono); }
.mn-ico { width:24px; height:24px; flex-shrink:0; stroke:currentColor; fill:none; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }

/* ---------- Barra superior ---------- */
.mn-top { background:var(--mn-carbon-3); color:var(--mn-on-dark-3); font-size:12px; }
.mn-top-inner {
    max-width:var(--mn-max); margin:0 auto; padding:8px 32px;
    display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
}
.mn-top-enlaces { display:flex; gap:18px; flex-wrap:wrap; }
.mn-top a { color:var(--mn-on-dark-2); text-decoration:none; }
.mn-top a:hover { color:var(--mn-amarillo); }

/* ---------- Cabecera fija ---------- */
.mn-cab { position:sticky; top:0; z-index:900; border-bottom:3px solid var(--mn-amarillo); }
/* El desenfoque va en un seudoelemento: backdrop-filter en la propia cabecera la volvería bloque
   contenedor de los paneles fijos del mega-menú en móvil y los recortaría. */
.mn-cab::before {
    content:''; position:absolute; inset:0; z-index:-1;
    background:rgba(48,47,42,.97); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
}
.mn-cab-inner {
    max-width:var(--mn-max); margin:0 auto; padding:14px 32px;
    display:flex; align-items:center; gap:20px; flex-wrap:wrap;
}
.mn-marca { display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff; min-width:0; }
.mn-marca-cuadro {
    width:26px; height:26px; border-radius:7px; background:var(--mn-amarillo);
    box-shadow:0 0 24px rgba(235,225,0,.4); flex-shrink:0;
}
.mn-marca-red { font-size:15px; font-weight:600; color:#fff; white-space:nowrap; }
.mn-marca-sep { width:1px; height:26px; background:rgba(255,255,255,.18); }
.mn-marca-min { display:flex; flex-direction:column; line-height:1.15; }
.mn-marca-min strong { font-size:15px; font-weight:600; color:var(--mn-amarillo); letter-spacing:.06em; }
.mn-marca-min span { font-family:var(--mn-mono); font-size:10.5px; color:var(--mn-on-dark-3); text-transform:uppercase; letter-spacing:.08em; }
.mn-cab-acciones { margin-left:auto; display:flex; align-items:center; gap:12px; flex:1 1 320px; justify-content:flex-end; min-width:0; }
.mn-cab-buscar {
    display:flex; align-items:center; gap:8px; flex:1 1 220px; max-width:420px; min-width:0;
    background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12); border-radius:9px;
    padding:0 6px 0 12px; color:var(--mn-on-dark-3); transition:border-color .2s;
}
.mn-cab-buscar:focus-within { border-color:var(--mn-amarillo); }
.mn-cab-buscar .mn-ico { width:16px; height:16px; }
.mn-cab-buscar input {
    flex:1; min-width:0; background:transparent; border:0; outline:none; color:#fff;
    font:inherit; font-size:13px; padding:9px 0;
}
.mn-cab-buscar input::placeholder { color:var(--mn-on-dark-3); }
.mn-cab-buscar input:focus-visible { outline:none; }
.mn-kbd {
    font-family:var(--mn-mono); font-size:11px; color:var(--mn-on-dark-3);
    border:1px solid rgba(255,255,255,.18); border-radius:5px; padding:1px 6px; line-height:1.5;
}
.mn-cab-buscar button { background:transparent; border:0; color:var(--mn-on-dark-2); font:inherit; font-size:12.5px; font-weight:600; cursor:pointer; padding:6px 8px; border-radius:6px; }
.mn-cab-buscar button:hover { color:var(--mn-amarillo); }
.mn-btn-acceso {
    background:var(--mn-amarillo); color:var(--mn-carbon); text-decoration:none; white-space:nowrap;
    font-size:13px; font-weight:600; padding:9px 16px; border-radius:9px; transition:background .15s;
}
.mn-btn-acceso:hover { background:var(--mn-amarillo-hover); }

/* ---------- Fila de navegación y mega-menú ---------- */
.mn-nav { border-top:1px solid rgba(255,255,255,.08); }
.mn-nav-inner {
    max-width:var(--mn-max); margin:0 auto; padding:0 18px;
    display:flex; align-items:stretch; gap:0; flex-wrap:nowrap;
    overflow-x:auto; overflow-y:hidden; scrollbar-width:none;
}
.mn-nav-inner::-webkit-scrollbar { display:none; }
.mn-nav-item { display:flex; align-items:stretch; flex-shrink:0; }
.mn-nav-enlace {
    display:inline-flex; align-items:center; gap:6px; flex-shrink:0; white-space:nowrap;
    color:var(--mn-on-dark-2); text-decoration:none; font-size:13.5px; font-weight:500;
    padding:13px 14px; border-bottom:2px solid transparent; border-bottom-color:transparent;
    transition:color .18s, border-bottom-color .18s;
}
.mn-nav-enlace:hover, .mn-nav-enlace.active,
.mn-nav-item:hover > .mn-nav-enlace, .mn-nav-item:focus-within > .mn-nav-enlace, .mn-nav-item.open > .mn-nav-enlace {
    color:#fff; border-bottom-color:var(--mn-amarillo);
}
.mn-caret { font-size:10px; color:var(--mn-muted-soft); transition:transform .2s, color .2s; }
.mn-nav-item:hover .mn-caret, .mn-nav-item:focus-within .mn-caret, .mn-nav-item.open .mn-caret { color:var(--mn-amarillo); transform:rotate(180deg); }

.mn-mega {
    display:none; position:absolute; left:0; right:0; top:100%; z-index:960;
    background:var(--mn-surface); border-bottom:3px solid var(--mn-amarillo); box-shadow:var(--mn-shadow-menu);
    margin-top:3px; /* bajo el borde amarillo de la cabecera */
}
/* Puente invisible para que el puntero no pierda el hover al bajar del enlace al panel */
.mn-mega::before { content:''; position:absolute; left:0; right:0; top:-6px; height:6px; }
.mn-nav-item:hover > .mn-mega, .mn-nav-item:focus-within > .mn-mega, .mn-nav-item.open > .mn-mega { display:block; }
.mn-mega-inner { max-width:var(--mn-max); margin:0 auto; padding:32px; display:flex; gap:40px; align-items:flex-start; }
.mn-mega-col { flex:1; min-width:0; }
.mn-mega-titulo {
    font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-muted);
    padding-bottom:10px; margin:0 0 10px; border-bottom:1px solid var(--mn-border-2); font-weight:500;
}
.mn-mega-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(230px, 1fr)); gap:4px 12px; }
.mn-mega-link { display:block; text-decoration:none; padding:11px 10px; border-radius:10px; transition:background .15s; }
.mn-mega-link:hover { background:var(--mn-bg); }
.mn-mega-link strong { display:block; font-size:14px; font-weight:600; color:var(--mn-text); }
.mn-mega-link span { display:block; font-size:12.5px; color:var(--mn-muted); margin-top:2px; }
.mn-mega-card {
    position:relative; overflow:hidden; flex:0 1 360px; max-width:360px;
    background:var(--mn-carbon); border-left:5px solid var(--mn-amarillo); border-radius:var(--mn-radius-lg); padding:26px;
}
.mn-mega-card::after {
    content:''; position:absolute; right:-60px; top:-60px; width:220px; height:220px; pointer-events:none;
    background:radial-gradient(circle, rgba(235,225,0,.22), transparent 65%);
}
.mn-mega-card > * { position:relative; z-index:1; }
.mn-mega-kicker { font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-amarillo); }
.mn-mega-card h3 { margin:8px 0 8px; font-size:20px; color:#fff; line-height:1.25; }
.mn-mega-card p { margin:0 0 16px; font-size:13.5px; color:var(--mn-on-dark); line-height:1.6; }

/* ---------- Botones ---------- */
.mn-btn {
    display:inline-flex; align-items:center; gap:8px; text-decoration:none; cursor:pointer; border:0;
    font:inherit; font-size:13.5px; font-weight:600; padding:11px 18px; border-radius:var(--mn-radius-sm);
    transition:background .15s, color .15s, border-color .15s;
}
.mn-btn-amarillo { background:var(--mn-amarillo); color:var(--mn-carbon); }
.mn-btn-amarillo:hover { background:var(--mn-amarillo-hover); }
.mn-btn-carbon { background:var(--mn-carbon); color:#fff; }
.mn-btn-carbon:hover { background:var(--mn-carbon-3); color:var(--mn-amarillo); }
.mn-btn-linea { background:transparent; color:var(--mn-text); border:1px solid var(--mn-border-3); }
.mn-btn-linea:hover { border-color:var(--mn-carbon); }
.mn-btn-oscuro-linea { background:transparent; color:#fff; border:1px solid rgba(255,255,255,.2); }
.mn-btn-oscuro-linea:hover { border-color:var(--mn-amarillo); color:var(--mn-amarillo); }

/* ---------- Migas ---------- */
.mn-migas { background:var(--mn-surface); border-bottom:1px solid var(--mn-border); font-size:12.5px; }
.mn-migas-inner {
    max-width:var(--mn-max); margin:0 auto; padding:10px 32px; list-style:none;
    display:flex; align-items:center; gap:8px; flex-wrap:wrap;
}
.mn-migas-inner li { display:inline-flex; align-items:center; gap:8px; min-width:0; }
.mn-migas a { color:var(--mn-text-3); text-decoration:none; font-weight:500; }
.mn-migas a:hover { color:var(--mn-text); text-decoration:underline; }
.mn-miga-sep { color:#B0AB9B; user-select:none; }
.mn-miga-actual { color:var(--mn-text); font-weight:600; overflow-wrap:anywhere; }

/* ---------- Paleta de búsqueda (mejora progresiva: tecla /) ---------- */
.mn-paleta { display:none; position:fixed; inset:0; z-index:1500; background:rgba(36,35,30,.6); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); padding:12vh 16px 0; }
.mn-paleta.abierta { display:block; }
.mn-paleta-caja { max-width:680px; margin:0 auto; background:var(--mn-surface); border-radius:var(--mn-radius-lg); border-top:3px solid var(--mn-amarillo); box-shadow:var(--mn-shadow-menu); padding:18px; }
.mn-paleta form { display:flex; gap:10px; align-items:center; }
.mn-paleta input { flex:1; min-width:0; border:0; outline:none; font:inherit; font-size:17px; padding:12px 8px; color:var(--mn-text); background:transparent; }
.mn-paleta input:focus-visible { outline:none; }
.mn-paleta-pie { margin-top:10px; padding-top:10px; border-top:1px solid var(--mn-border-2); font-family:var(--mn-mono); font-size:11px; color:var(--mn-muted-soft); display:flex; gap:16px; flex-wrap:wrap; }

/* ---------- Banda de encabezado (páginas internas) ---------- */
.mn-banda { position:relative; overflow:hidden; background:var(--mn-carbon); color:#fff; }
.mn-banda::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:56px 56px;
    -webkit-mask-image:linear-gradient(180deg, #000, transparent 85%); mask-image:linear-gradient(180deg, #000, transparent 85%);
}
.mn-banda::after {
    content:''; position:absolute; right:-120px; top:-160px; width:520px; height:520px; pointer-events:none;
    background:radial-gradient(circle, rgba(235,225,0,.16), transparent 62%);
}
.mn-banda-inner { position:relative; z-index:1; max-width:var(--mn-max); margin:0 auto; padding:44px 32px 0; }
.mn-banda-fila { display:flex; gap:22px; align-items:flex-start; flex-wrap:wrap; padding-bottom:40px; }
.mn-banda-icono {
    width:60px; height:60px; border-radius:15px; background:var(--mn-amarillo); color:var(--mn-carbon);
    display:flex; align-items:center; justify-content:center; flex-shrink:0; box-shadow:0 0 34px rgba(235,225,0,.3);
}
.mn-banda-icono .mn-ico { width:28px; height:28px; }
.mn-banda-texto { flex:1 1 420px; min-width:0; }
.mn-eyebrow { font-family:var(--mn-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.12em; color:var(--mn-amarillo); margin:0 0 8px; }
.mn-banda h1 { margin:0; color:#fff; font-size:clamp(32px, 4.2vw, 54px); line-height:1.05; letter-spacing:-.035em; overflow-wrap:anywhere; }
.mn-banda h1 .ac { color:var(--mn-amarillo); }
.mn-banda-desc { margin:12px 0 0; font-size:16px; color:var(--mn-on-dark); max-width:70ch; line-height:1.6; }
.mn-banda-meta {
    font-family:var(--mn-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--mn-on-dark-2);
    border:1px solid rgba(255,255,255,.16); border-radius:var(--mn-radius-sm); padding:10px 14px; white-space:nowrap; align-self:center;
}
.mn-banda-meta strong { color:var(--mn-amarillo); font-weight:500; font-size:15px; }
.mn-tabs { position:relative; z-index:1; border-top:1px solid rgba(255,255,255,.1); display:flex; gap:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; }
.mn-tabs::-webkit-scrollbar { display:none; }
.mn-tab {
    flex-shrink:0; white-space:nowrap; text-decoration:none; color:var(--mn-on-dark-3); font-size:14px; font-weight:500;
    padding:15px 16px 14px; border-bottom:3px solid transparent; border-bottom-color:transparent; transition:color .18s, border-bottom-color .18s;
}
.mn-tab:hover { color:#fff; }
.mn-tab.activo { color:#fff; border-bottom-color:var(--mn-amarillo); }
/* Ficha y perfil: la banda no lleva pestañas, solo aire inferior */
.mn-banda-cierre { padding-bottom:44px; }

/* ---------- Contenido ---------- */
.mn-wrap { max-width:var(--mn-max); margin:0 auto; padding:40px 32px 96px; }
.mn-wrap-estrecho { max-width:1000px; }
.mn-card {
    background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius);
    padding:26px 28px; margin-bottom:20px; box-shadow:var(--mn-shadow-sm);
}
.mn-card > :first-child { margin-top:0; }
.mn-card h2 { margin:0 0 12px; font-size:20px; }
.mn-sec-titulo, .mn-card-titulo {
    font-family:var(--mn-mono); font-size:13px; font-weight:500; text-transform:uppercase; letter-spacing:.08em; color:var(--mn-muted);
    margin:0 0 16px; padding-bottom:10px; border-bottom:2px solid var(--mn-amarillo);
}
.mn-nota { font-size:13.5px; color:var(--mn-muted); }
.mn-volver { display:inline-block; font-size:13px; color:var(--mn-text-3); text-decoration:none; margin-bottom:14px; }
.mn-volver:hover { color:var(--mn-text); text-decoration:underline; }
.mn-vacio { text-align:center; padding:56px 24px; color:var(--mn-muted); }
.mn-vacio .mn-ico { width:44px; height:44px; color:var(--mn-border-3); margin-bottom:10px; }
.mn-vacio p { margin:6px 0 0; }

/* ---------- Pills ---------- */
.mn-pill {
    display:inline-block; font-family:var(--mn-mono); font-size:10.5px; font-weight:500; letter-spacing:.1em;
    padding:4px 8px; border-radius:5px; line-height:1.3; text-transform:uppercase; background:var(--mn-border-2); color:var(--mn-text-2);
}
.mn-pill.cat-GNC { background:var(--mn-carbon); color:var(--mn-amarillo); }
.mn-pill.cat-DTI { background:var(--mn-text-3); color:#fff; }
.mn-pill.cat-ASC { background:var(--mn-amarillo); color:var(--mn-carbon); }
.mn-pill.cat-DPC { background:#F3EFA0; color:var(--mn-carbon); }
.mn-pill.cat-FRH { background:var(--mn-muted); color:#fff; }
.mn-banda .mn-pill.cat-GNC { background:rgba(235,225,0,.14); border:1px solid rgba(235,225,0,.35); }
.mn-acceso { display:inline-block; font-family:var(--mn-mono); font-size:10.5px; font-weight:500; letter-spacing:.08em; text-transform:uppercase; padding:4px 9px; border-radius:var(--mn-radius-pill); }
.mn-acceso.oa { background:var(--mn-amarillo); color:var(--mn-carbon); }
.mn-acceso.meta { background:var(--mn-border-2); color:var(--mn-text-3); }
.mn-acceso.restringido { background:var(--mn-text-3); color:#fff; }
.mn-acceso.texto { background:var(--mn-carbon); color:var(--mn-amarillo); }
.mn-chip-dato { font-family:var(--mn-mono); font-size:11.5px; color:var(--mn-muted-soft); }

/* ---------- Inicio: hero ---------- */
.mn-hero { position:relative; overflow:hidden; background:var(--mn-carbon); color:#fff; text-align:center; }
.mn-hero canvas { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; }
.mn-hero::before {
    content:''; position:absolute; inset:0; pointer-events:none;
    background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
    background-size:64px 64px;
    -webkit-mask-image:radial-gradient(ellipse 70% 70% at 50% 40%, #000, transparent 75%); mask-image:radial-gradient(ellipse 70% 70% at 50% 40%, #000, transparent 75%);
}
.mn-hero::after { content:''; position:absolute; inset:0; pointer-events:none; background:radial-gradient(ellipse 55% 60% at 50% 45%, rgba(48,47,42,.9), transparent 75%); }
.mn-hero-inner { position:relative; z-index:1; max-width:980px; margin:0 auto; padding:96px 32px 120px; }
.mn-hero-badge {
    display:inline-flex; align-items:center; gap:9px; border:1px solid rgba(235,225,0,.3); background:rgba(235,225,0,.06);
    border-radius:var(--mn-radius-pill); padding:6px 14px; font-family:var(--mn-mono); font-size:11.5px; text-transform:uppercase; letter-spacing:.1em; color:#E9E5D6;
}
.mn-hero-badge::before { content:''; width:7px; height:7px; border-radius:50%; background:var(--mn-amarillo); box-shadow:0 0 12px rgba(235,225,0,.7); }
.mn-hero h1 { margin:26px 0 18px; color:#fff; font-size:clamp(40px, 6vw, 80px); line-height:1; letter-spacing:-.04em; }
.mn-hero h1 .ac { color:var(--mn-amarillo); text-shadow:0 0 40px rgba(235,225,0,.35); }
.mn-hero p.mn-hero-texto { margin:0 auto 34px; max-width:62ch; font-size:clamp(16px, 1.5vw, 18.5px); color:var(--mn-on-dark); line-height:1.65; }
.mn-buscador {
    display:flex; gap:8px; align-items:center; max-width:760px; margin:0 auto; background:#fff; border-radius:var(--mn-radius); padding:8px;
    box-shadow:0 0 0 1px rgba(235,225,0,.35), 0 30px 60px -30px rgba(0,0,0,.6);
}
.mn-buscador .mn-ico { color:var(--mn-muted-soft); margin-left:12px; width:20px; height:20px; }
.mn-buscador input { flex:1; min-width:0; border:0; outline:none; font:inherit; font-size:16px; padding:12px 8px; color:var(--mn-text); background:transparent; }
.mn-buscador input:focus-visible { outline:none; }
.mn-buscador:focus-within { box-shadow:0 0 0 2px var(--mn-amarillo), 0 30px 60px -30px rgba(0,0,0,.6); }
.mn-buscador button { background:var(--mn-amarillo); color:var(--mn-carbon); border:0; cursor:pointer; font:inherit; font-size:15px; font-weight:600; padding:13px 22px; border-radius:11px; transition:background .15s; }
.mn-buscador button:hover { background:var(--mn-amarillo-hover); }
.mn-chips { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; align-items:center; margin-top:20px; }
.mn-chips-rotulo { font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#A8A497; }
.mn-chips a {
    font-size:12.5px; color:var(--mn-on-dark-2); text-decoration:none; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.14);
    padding:6px 14px; border-radius:var(--mn-radius-pill); transition:border-color .15s, color .15s;
}
.mn-chips a:hover { border-color:var(--mn-amarillo); color:var(--mn-amarillo); }
.mn-interop {
    margin-top:44px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1);
    font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:#A8A497;
    display:flex; gap:8px 22px; flex-wrap:wrap; justify-content:center;
}
.mn-interop strong { color:var(--mn-on-dark-2); font-weight:500; }

/* ---------- Inicio: KPIs, comunidades, recientes ---------- */
.mn-kpis {
    position:relative; z-index:2; max-width:calc(var(--mn-max) - 64px); margin:-56px auto 0; background:var(--mn-border);
    display:grid; grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); gap:1px;
    border-radius:var(--mn-radius-lg); overflow:hidden; box-shadow:0 24px 50px -30px rgba(48,47,42,.45); border:1px solid var(--mn-border);
}
.mn-kpi { background:var(--mn-surface); padding:26px 28px; }
.mn-kpi-num { font-size:38px; font-weight:600; letter-spacing:-.04em; line-height:1; color:var(--mn-text); }
.mn-kpi-label { font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-muted); margin-top:10px; }
.mn-seccion { max-width:var(--mn-max); margin:0 auto; padding:88px 32px 0; }
.mn-seccion:last-of-type { padding-bottom:96px; }
.mn-sec-head { margin-bottom:32px; }
.mn-sec-num { display:inline-flex; align-items:center; gap:12px; font-family:var(--mn-mono); font-size:11.5px; color:var(--mn-muted); text-transform:uppercase; letter-spacing:.1em; }
.mn-sec-num b { background:var(--mn-amarillo); color:var(--mn-carbon); font-weight:500; padding:2px 8px; border-radius:5px; }
.mn-sec-num::after { content:''; width:64px; height:2px; background:linear-gradient(90deg, var(--mn-amarillo), transparent); }
.mn-sec-head h2 { margin:14px 0 6px; font-size:clamp(28px, 3vw, 40px); letter-spacing:-.035em; line-height:1.1; }
.mn-sec-head p { margin:0; color:var(--mn-muted); font-size:15px; }
.mn-com-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:16px; }
.mn-com {
    display:flex; flex-direction:column; min-height:250px; text-decoration:none; color:inherit;
    background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius-lg); padding:26px;
    transition:transform .25s, border-color .25s, box-shadow .25s;
}
.mn-com:hover { transform:translateY(-4px); border-color:var(--mn-amarillo); box-shadow:var(--mn-shadow-hover); }
.mn-com-icono { width:48px; height:48px; border-radius:12px; background:var(--mn-carbon); color:var(--mn-amarillo); display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.mn-com h3 { margin:0 0 8px; font-size:18px; }
.mn-com p { margin:0; font-size:14px; color:var(--mn-muted); line-height:1.55; flex:1; }
.mn-com-pie { margin-top:18px; padding-top:14px; border-top:1px solid var(--mn-border-2); display:flex; justify-content:space-between; align-items:center; font-size:13px; font-weight:600; }
.mn-com-pie span:first-child { font-family:var(--mn-mono); font-size:11.5px; font-weight:400; color:var(--mn-muted-soft); text-transform:uppercase; letter-spacing:.06em; }
.mn-dos-col { display:flex; flex-wrap:wrap; gap:24px; align-items:flex-start; }
.mn-dos-col > .mn-col-3 { flex:3 1 460px; min-width:0; }
.mn-dos-col > .mn-col-2 { flex:2 1 320px; min-width:0; }
.mn-rec-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:14px; }
.mn-rec {
    display:block; text-decoration:none; color:inherit; background:var(--mn-surface); border:1px solid var(--mn-border);
    border-radius:var(--mn-radius-md); padding:18px; transition:border-color .25s, box-shadow .25s;
}
.mn-rec:hover { border-color:var(--mn-amarillo); box-shadow:var(--mn-shadow-hover); }
.mn-rec-cab { display:flex; gap:8px; align-items:center; margin-bottom:10px; }
.mn-rec-titulo { font-size:14.5px; font-weight:600; line-height:1.4; color:var(--mn-text); margin:0 0 8px; }
.mn-rec-autor { font-size:13px; color:var(--mn-text-3); }
.mn-rec-tipo { font-size:12px; color:var(--mn-muted-soft); margin-top:3px; }
.mn-top-desc { background:var(--mn-carbon); border-radius:20px; padding:26px; color:#fff; }
.mn-top-desc h3 { margin:0 0 4px; color:#fff; font-size:18px; }
.mn-top-desc .mn-top-sub { font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-on-dark-3); margin:0 0 14px; }
.mn-top-fila { display:flex; gap:14px; text-decoration:none; color:inherit; padding:12px 8px; border-radius:var(--mn-radius-sm); transition:background .15s; }
.mn-top-fila:hover { background:rgba(255,255,255,.05); }
.mn-top-rank { font-family:var(--mn-mono); font-size:13px; color:var(--mn-amarillo); min-width:24px; padding-top:1px; }
.mn-top-cuerpo { flex:1; min-width:0; }
.mn-top-titulo { display:block; font-size:13.5px; color:#F2EFE4; line-height:1.4; }
.mn-top-barra { display:block; height:4px; border-radius:2px; background:rgba(255,255,255,.08); margin-top:8px; overflow:hidden; }
.mn-top-barra i { display:block; height:100%; background:var(--mn-amarillo); border-radius:2px; }
.mn-top-n { font-family:var(--mn-mono); font-size:11.5px; color:var(--mn-on-dark-3); white-space:nowrap; padding-top:2px; }
.mn-acerca { background:var(--mn-surface); border:1px solid var(--mn-border); border-left:6px solid var(--mn-amarillo); border-radius:var(--mn-radius-xl); padding:36px 40px; }
.mn-acerca h2 { margin:0 0 12px; font-size:24px; }
.mn-acerca p { margin:0 0 22px; color:var(--mn-text-3); max-width:90ch; }
.mn-acerca-botones { display:flex; gap:10px; flex-wrap:wrap; }

/* ---------- Comunidad: filtros + resultados ---------- */
.mn-layout { display:flex; flex-wrap:wrap; gap:40px; align-items:flex-start; }
.mn-filtros { flex:1 1 240px; max-width:290px; position:sticky; top:130px; max-height:calc(100vh - 150px); overflow-y:auto; scrollbar-width:thin; padding-right:10px; }
.mn-resultados { flex:999 1 480px; min-width:0; }
.mn-filtros-cab { display:flex; justify-content:space-between; align-items:baseline; margin-bottom:18px; }
.mn-filtros-cab strong { font-size:15px; font-weight:600; }
.mn-filtros-cab a { font-size:12.5px; color:var(--mn-text-3); }
.mn-filtro-grupo { margin-bottom:22px; }
.mn-filtro-titulo { font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-muted); margin:0 0 8px; }
.mn-filtro-titulo small { text-transform:none; letter-spacing:0; color:var(--mn-muted-soft); }
.mn-filtro-lista { max-height:290px; overflow-y:auto; scrollbar-width:thin; }
.mn-filtro-op { display:flex; align-items:center; gap:10px; text-decoration:none; padding:6px 4px; border-radius:var(--mn-radius-xs); font-size:13.5px; color:var(--mn-text-2); }
.mn-filtro-op:hover { background:var(--mn-border-2); }
.mn-filtro-op > span:nth-child(2) { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mn-filtro-op > span:last-child { font-family:var(--mn-mono); font-size:11.5px; color:var(--mn-muted-soft); }
.mn-check { width:18px; height:18px; border-radius:5px; border:1.5px solid var(--mn-border-3); background:#fff; flex-shrink:0; display:flex; align-items:center; justify-content:center; font-size:12px; line-height:1; color:transparent; }
.mn-filtro-op.activo .mn-check { background:var(--mn-carbon); border-color:var(--mn-carbon); color:var(--mn-amarillo); }
.mn-filtro-op.activo { font-weight:600; color:var(--mn-text); }
.mn-filtro-op.inactivo { color:var(--mn-muted-soft); cursor:default; }
/* Los conmutadores llevan rótulos largos («Texto completo disponible»): se parten en dos líneas en vez de cortarse */
.mn-filtro-sw > span:nth-child(2) { white-space:normal !important; overflow:visible !important; line-height:1.3; }
.mn-filtro-op.inactivo:hover { background:transparent; }
.mn-switch { width:36px; height:20px; border-radius:10px; background:var(--mn-border-3); position:relative; flex-shrink:0; transition:background .2s; }
.mn-switch::after { content:''; position:absolute; top:2px; left:2px; width:16px; height:16px; border-radius:50%; background:#fff; transition:left .2s; }
.mn-filtro-op.activo .mn-switch { background:var(--mn-carbon); }
.mn-filtro-op.activo .mn-switch::after { left:18px; background:var(--mn-amarillo); }
.mn-res-bar { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:18px; }
.mn-res-buscar { flex:1 1 280px; display:flex; gap:8px; align-items:center; background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius-sm); padding:4px 4px 4px 14px; }
.mn-res-buscar:focus-within { border-color:var(--mn-carbon); }
.mn-res-buscar input { flex:1; min-width:0; border:0; outline:none; font:inherit; font-size:14px; padding:9px 0; background:transparent; color:var(--mn-text); }
.mn-res-buscar input:focus-visible { outline:none; }
.mn-res-buscar button { padding:9px 16px; }
.mn-res-cuenta { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin:0 0 18px; font-size:14px; color:var(--mn-text-3); }
.mn-res-cuenta strong { color:var(--mn-text); font-size:16px; }
.mn-chip-activo { display:inline-flex; align-items:center; gap:8px; background:var(--mn-carbon); color:var(--mn-amarillo); text-decoration:none; font-size:12.5px; padding:4px 6px 4px 12px; border-radius:var(--mn-radius-pill); }
.mn-chip-activo b { font-weight:400; color:var(--mn-on-dark-3); width:18px; height:18px; display:inline-flex; align-items:center; justify-content:center; border-radius:50%; }
.mn-chip-activo:hover b { background:rgba(255,255,255,.12); color:#fff; }

/* Tarjeta de resultado */
.mn-item {
    display:flex; gap:20px; text-decoration:none; color:inherit; background:var(--mn-surface); border:1px solid var(--mn-border);
    border-radius:var(--mn-radius); padding:18px; margin-bottom:14px; transition:border-color .25s, box-shadow .25s;
}
.mn-item:hover { border-color:var(--mn-amarillo); box-shadow:var(--mn-shadow-hover); }
.mn-portada {
    width:96px; height:128px; flex-shrink:0; border-radius:var(--mn-radius-sm); border-top:4px solid var(--mn-amarillo);
    background:linear-gradient(160deg, var(--mn-carbon-2), var(--mn-carbon)); color:#fff; padding:12px 10px;
    display:flex; flex-direction:column; justify-content:space-between;
}
.mn-portada-cat { font-family:var(--mn-mono); font-size:10px; letter-spacing:.12em; color:var(--mn-amarillo); }
.mn-portada-tipo { font-size:11.5px; line-height:1.3; color:var(--mn-on-dark-2); overflow:hidden; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
.mn-portada-anio { font-family:var(--mn-mono); font-size:12px; color:var(--mn-on-dark-3); }
.mn-item-cuerpo { flex:1; min-width:0; }
.mn-item-cab { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:8px; }
.mn-item h3 { margin:0 0 6px; font-size:17px; line-height:1.35; overflow-wrap:anywhere; }
.mn-item-autor { font-size:13.5px; color:var(--mn-text-3); margin:0 0 6px; }
.mn-item-resumen { margin:0; font-size:13px; color:var(--mn-muted); line-height:1.55; }
.mn-item-pie { margin-top:10px; font-family:var(--mn-mono); font-size:11.5px; color:var(--mn-muted-soft); }
.mn-item-compacto { padding:14px 16px; gap:14px; }
.mn-item-compacto .mn-portada { width:64px; height:84px; padding:8px; }
.mn-item-compacto .mn-portada-tipo { display:none; }

/* Directorio de investigadores */
.mn-inv-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:16px; }
.mn-inv {
    display:flex; flex-direction:column; text-decoration:none; color:inherit; background:var(--mn-surface); border:1px solid var(--mn-border);
    border-radius:var(--mn-radius-lg); padding:22px; min-height:190px; transition:transform .25s, border-color .25s, box-shadow .25s;
}
.mn-inv:hover { transform:translateY(-4px); border-color:var(--mn-amarillo); box-shadow:var(--mn-shadow-hover); }
.mn-inv-cab { display:flex; gap:14px; align-items:center; }
.mn-avatar { width:56px; height:56px; border-radius:16px; flex-shrink:0; object-fit:cover; background:var(--mn-carbon); color:var(--mn-amarillo); display:flex; align-items:center; justify-content:center; font-weight:600; font-size:19px; letter-spacing:.02em; }
.mn-inv h3 { margin:0; font-size:16.5px; line-height:1.3; }
.mn-inv-cat { font-size:13px; color:var(--mn-text-3); margin-top:3px; }
.mn-inv-dato { font-size:12.5px; color:var(--mn-muted); margin-top:12px; flex:1; }
.mn-inv-pie { margin-top:14px; padding-top:12px; border-top:1px solid var(--mn-border-2); display:flex; justify-content:space-between; align-items:center; font-size:13px; font-weight:600; }
.mn-inv-pie span:first-child { font-family:var(--mn-mono); font-size:11.5px; font-weight:400; color:var(--mn-muted-soft); text-transform:uppercase; letter-spacing:.06em; }

/* ---------- Paginación ---------- */
.mn-pag { display:flex; justify-content:center; align-items:center; gap:6px; flex-wrap:wrap; margin-top:28px; }
.mn-pag a, .mn-pag span {
    min-width:36px; height:36px; padding:0 10px; border-radius:var(--mn-radius-xs); display:inline-flex; align-items:center; justify-content:center;
    font-size:13px; font-weight:500; text-decoration:none; border:1px solid var(--mn-border); background:var(--mn-surface); color:var(--mn-text-2);
}
.mn-pag a:hover { border-color:var(--mn-carbon); }
.mn-pag .actual { background:var(--mn-carbon); color:var(--mn-amarillo); border-color:var(--mn-carbon); font-weight:600; }
.mn-pag .hueco { border:0; background:transparent; min-width:20px; padding:0; color:var(--mn-muted-soft); }

/* ---------- Ficha del documento ---------- */
.mn-banda-pills { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:18px; }
.mn-banda-pills .mn-dato { font-family:var(--mn-mono); font-size:12px; color:var(--mn-on-dark-2); }
.mn-ficha-h1 { font-size:clamp(28px, 3.4vw, 44px) !important; max-width:28ch; text-wrap:balance; line-height:1.12 !important; }
.mn-autores { margin-top:24px; display:flex; flex-direction:column; gap:14px; }
.mn-autores-rotulo { font-family:var(--mn-mono); font-size:11px; text-transform:uppercase; letter-spacing:.12em; color:var(--mn-on-dark-3); margin:0 0 8px; }
.mn-autores-lista { display:flex; gap:8px; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.mn-autor {
    display:inline-flex; align-items:center; gap:8px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
    border-radius:var(--mn-radius-pill); padding:4px 12px 4px 4px; font-size:13.5px; color:#fff;
}
.mn-autor a { color:#fff; text-decoration:none; }
.mn-autor a:hover { color:var(--mn-amarillo); }
.mn-autor-av { width:24px; height:24px; border-radius:50%; background:var(--mn-amarillo); color:var(--mn-carbon); font-size:10px; font-weight:600; display:inline-flex; align-items:center; justify-content:center; }
.mn-autor small { color:var(--mn-on-dark-3); font-size:12px; }
.mn-autor .mn-orcid { font-family:var(--mn-mono); font-size:10.5px; color:#A6CE39 !important; letter-spacing:.04em; }
.mn-ficha { display:flex; flex-wrap:wrap; gap:32px; align-items:flex-start; }
.mn-articulo { flex:999 1 520px; min-width:0; background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:20px; padding:36px 40px; }
.mn-articulo section { margin-bottom:34px; }
.mn-articulo section:last-child { margin-bottom:0; }
.mn-resumen { margin:0; font-size:15.5px; line-height:1.8; color:var(--mn-text-2); }
.mn-kw { display:flex; gap:8px; flex-wrap:wrap; }
.mn-kw a { background:var(--mn-amarillo-suave); border:1px solid var(--mn-amarillo-borde); color:var(--mn-text); text-decoration:none; font-size:13px; padding:5px 13px; border-radius:var(--mn-radius-pill); }
.mn-kw a:hover { background:var(--mn-amarillo); border-color:var(--mn-amarillo); }
.mn-datos { margin:0; }
.mn-datos > div { display:flex; gap:16px; padding:12px 0; border-bottom:1px solid var(--mn-border-2); font-size:14px; }
.mn-datos > div:last-child { border-bottom:0; }
.mn-datos dt { flex:0 0 200px; color:var(--mn-muted); }
.mn-datos dd { flex:1; min-width:0; margin:0; font-weight:500; color:var(--mn-text); overflow-wrap:anywhere; }
.mn-datos dd a { color:var(--mn-text); }
.mn-datos dd small { font-weight:400; color:var(--mn-muted-soft); }
.mn-aside { flex:1 1 300px; max-width:400px; position:sticky; top:130px; display:flex; flex-direction:column; gap:16px; }
.mn-acceso-panel { background:var(--mn-carbon); border-left:5px solid var(--mn-amarillo); border-radius:var(--mn-radius-lg); padding:24px; color:var(--mn-on-dark); font-size:13.5px; line-height:1.6; }
.mn-acceso-panel strong.t { display:block; color:#fff; font-size:16px; margin-bottom:6px; font-weight:600; }
.mn-acceso-panel .mn-btn { margin-top:16px; width:100%; justify-content:center; }
.mn-caja { background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius-lg); padding:22px; }
.mn-caja h2, .mn-caja h3 { font-family:var(--mn-mono); font-size:12px; font-weight:500; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-muted); margin:0 0 14px; }
/* Citar: las tres citas están en el HTML; las pestañas son radios (funcionan sin JS) */
.mn-citar input[type=radio] { position:absolute; opacity:0; pointer-events:none; }
.mn-citar-tabs { display:flex; gap:4px; margin-bottom:12px; background:var(--mn-bg); border-radius:var(--mn-radius-xs); padding:4px; }
.mn-citar-tabs label { flex:1; text-align:center; font-size:12.5px; font-weight:500; padding:7px 6px; border-radius:6px; cursor:pointer; color:var(--mn-text-3); }
.mn-cita { display:none; margin:0; padding:14px; background:var(--mn-bg); border:1px solid var(--mn-border-2); border-radius:var(--mn-radius-xs); font-family:var(--mn-mono); font-size:11.5px; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; color:var(--mn-text-2); max-height:260px; overflow-y:auto; }
#mn-cita-apa:checked ~ .mn-citar-tabs label[for=mn-cita-apa],
#mn-cita-bib:checked ~ .mn-citar-tabs label[for=mn-cita-bib],
#mn-cita-ris:checked ~ .mn-citar-tabs label[for=mn-cita-ris] { background:var(--mn-carbon); color:var(--mn-amarillo); }
#mn-cita-apa:checked ~ .mn-cita[data-cita=apa],
#mn-cita-bib:checked ~ .mn-cita[data-cita=bib],
#mn-cita-ris:checked ~ .mn-cita[data-cita=ris] { display:block; }
#mn-cita-apa:focus-visible ~ .mn-citar-tabs label[for=mn-cita-apa],
#mn-cita-bib:focus-visible ~ .mn-citar-tabs label[for=mn-cita-bib],
#mn-cita-ris:focus-visible ~ .mn-citar-tabs label[for=mn-cita-ris] { outline:3px solid var(--mn-amarillo); outline-offset:2px; }
.mn-citar .mn-btn { margin-top:12px; width:100%; justify-content:center; }
.mn-citar .mn-copiar { display:none; }
.mn-js .mn-citar .mn-copiar { display:inline-flex; }
.mn-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.mn-stats div { background:var(--mn-bg); border-radius:var(--mn-radius-sm); padding:16px; }
.mn-stats b { display:block; font-size:26px; font-weight:600; letter-spacing:-.03em; line-height:1; }
.mn-stats span { display:block; font-family:var(--mn-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-muted); margin-top:8px; }
.mn-aval { display:flex; gap:12px; align-items:flex-start; background:var(--mn-amarillo-suave); border:1px solid var(--mn-amarillo-borde); border-radius:var(--mn-radius-md); padding:16px; font-size:13px; color:var(--mn-text-2); line-height:1.5; }
.mn-aval-check { width:24px; height:24px; border-radius:50%; background:var(--mn-carbon); color:var(--mn-amarillo); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:13px; }

/* ---------- Perfil ---------- */
.mn-perfil-cab { display:flex; gap:28px; align-items:center; flex-wrap:wrap; padding-bottom:44px; }
.mn-avatar-xl { width:112px; height:112px; border-radius:28px; font-size:38px; box-shadow:0 0 0 3px rgba(235,225,0,.35); }
.mn-perfil-texto { flex:1 1 360px; min-width:0; }
.mn-perfil-sub { margin:10px 0 0; font-size:15px; color:var(--mn-on-dark); }
.mn-perfil-enlaces { display:flex; gap:8px; flex-wrap:wrap; margin-top:18px; }
.mn-perfil-enlaces .mn-btn { padding:8px 14px; font-size:12.5px; }
.mn-cifras { display:grid; grid-template-columns:repeat(3, minmax(96px, 1fr)); gap:1px; background:rgba(255,255,255,.08); border-radius:var(--mn-radius-md); overflow:hidden; }
.mn-cifras div { background:var(--mn-carbon-4); padding:18px 20px; }
.mn-cifras b { display:block; font-size:28px; font-weight:600; color:var(--mn-amarillo); letter-spacing:-.03em; line-height:1; }
.mn-cifras span { display:block; font-family:var(--mn-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-on-dark-3); margin-top:8px; }
.mn-grid-2 { display:grid; grid-template-columns:repeat(auto-fit, minmax(320px, 1fr)); gap:20px; margin-bottom:20px; }
.mn-grid-2 .mn-card { margin-bottom:0; }
.mn-barra-fila { display:flex; align-items:center; gap:12px; margin-bottom:10px; font-size:13px; }
.mn-barra-fila > span:first-child { width:48px; font-family:var(--mn-mono); font-size:12px; color:var(--mn-text-3); }
.mn-barra-fila > span:last-child { width:44px; text-align:right; font-family:var(--mn-mono); font-size:12px; color:var(--mn-text); }
.mn-barra { flex:1; height:12px; border-radius:6px; background:var(--mn-border-2); overflow:hidden; }
.mn-barra i { display:block; height:100%; background:var(--mn-carbon); border-radius:6px; }
.mn-barra.am i { background:var(--mn-amarillo); }
.mn-columnas { display:flex; gap:8px; align-items:flex-end; height:150px; padding-top:10px; border-bottom:1px solid var(--mn-border); }
.mn-columnas > div { flex:1; min-width:26px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; gap:5px; height:100%; }
.mn-columnas b { font-family:var(--mn-mono); font-size:11px; font-weight:500; color:var(--mn-text-3); }
.mn-columnas i { display:block; width:100%; min-height:4px; background:var(--mn-carbon); border-radius:4px 4px 0 0; }
.mn-columnas-eje { display:flex; gap:8px; padding-top:8px; }
.mn-columnas-eje span { flex:1; min-width:26px; text-align:center; font-family:var(--mn-mono); font-size:10.5px; color:var(--mn-muted); }
.mn-grupos { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:12px; }
.mn-grupo { background:var(--mn-bg); border-left:3px solid var(--mn-amarillo); border-radius:var(--mn-radius-xs); padding:14px 16px; }
.mn-grupo strong { display:block; font-size:14px; font-weight:600; }
.mn-grupo span { display:block; font-size:12px; color:var(--mn-muted); margin-top:2px; }

/* ---------- Explorar ---------- */
.mn-criterios { display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:16px; }
.mn-criterio {
    display:block; text-decoration:none; color:inherit; background:var(--mn-surface); border:1px solid var(--mn-border);
    border-radius:var(--mn-radius-lg); padding:24px; transition:transform .25s, border-color .25s, box-shadow .25s;
}
.mn-criterio:hover { transform:translateY(-4px); border-color:var(--mn-amarillo); box-shadow:var(--mn-shadow-hover); }
.mn-glifo { display:inline-flex; align-items:center; justify-content:center; min-width:56px; height:48px; padding:0 12px; border-radius:12px; background:var(--mn-carbon); color:var(--mn-amarillo); font-family:var(--mn-mono); font-size:14px; letter-spacing:.06em; margin-bottom:16px; }
.mn-criterio strong { display:block; font-size:17px; font-weight:600; }
.mn-criterio span { display:block; font-size:13px; color:var(--mn-muted); margin-top:4px; }
.mn-letras { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:24px; }
.mn-letra {
    min-width:44px; padding:8px 10px; text-align:center; border-radius:var(--mn-radius-xs); text-decoration:none; font-weight:600; font-size:14px;
    background:var(--mn-surface); border:1px solid var(--mn-border); color:var(--mn-text);
}
.mn-letra small { display:block; font-family:var(--mn-mono); font-size:10px; font-weight:400; color:var(--mn-muted-soft); }
a.mn-letra:hover { border-color:var(--mn-carbon); }
.mn-letra.activa { background:var(--mn-carbon); color:var(--mn-amarillo); border-color:var(--mn-carbon); }
.mn-letra.activa small { color:var(--mn-on-dark-3); }
.mn-letra.vacia { background:transparent; color:var(--mn-border-3); border-color:var(--mn-border-2); }
.mn-anios { display:flex; flex-direction:column; gap:6px; margin-bottom:26px; }
.mn-anio { display:flex; align-items:center; gap:14px; text-decoration:none; color:inherit; padding:6px 8px; border-radius:var(--mn-radius-xs); }
.mn-anio:hover, .mn-anio.activo { background:var(--mn-border-2); }
.mn-anio > span:first-child { width:52px; font-family:var(--mn-mono); font-size:13px; font-weight:500; }
.mn-anio > span:last-child { width:70px; text-align:right; font-family:var(--mn-mono); font-size:12px; color:var(--mn-muted); }
.mn-anio.activo > span:first-child { color:var(--mn-text); font-weight:600; }
.mn-nube { background:var(--mn-carbon); border-radius:20px; padding:28px 30px; line-height:2.5; margin-bottom:26px; }
.mn-nube a { display:inline-block; margin:0 6px 0 0; padding:2px 12px; border-radius:var(--mn-radius-pill); text-decoration:none; color:var(--mn-on-dark-2); border:1px solid rgba(255,255,255,.12); line-height:1.6; }
.mn-nube a:hover { color:var(--mn-amarillo); border-color:var(--mn-amarillo); }
.mn-nube a.activa { background:var(--mn-amarillo); color:var(--mn-carbon); border-color:var(--mn-amarillo); }
.mn-nube small { font-family:var(--mn-mono); font-size:.68em; opacity:.7; margin-left:4px; }
.mn-tipos-cat { margin-bottom:28px; }
.mn-tipos-cat h2 { display:flex; gap:10px; align-items:center; font-size:16px; margin:0 0 12px; padding-bottom:10px; border-bottom:2px solid var(--mn-amarillo); }
.mn-tipos { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:10px; }
.mn-tipo { display:flex; gap:12px; align-items:center; justify-content:space-between; text-decoration:none; color:inherit; background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius-sm); padding:12px 16px; transition:border-color .2s; }
.mn-tipo:hover { border-color:var(--mn-carbon); }
.mn-tipo strong { display:block; font-size:13.5px; font-weight:600; }
.mn-tipo small { display:block; font-size:11.5px; color:var(--mn-muted-soft); }
.mn-tipo b { font-family:var(--mn-mono); font-size:12px; font-weight:500; color:var(--mn-text-3); white-space:nowrap; }
.mn-autores-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:10px; }
.mn-sub-cab { margin:0 0 18px; }
.mn-sub-cab h2 { margin:0 0 4px; font-size:22px; }

/* ---------- Proyectos ---------- */
.mn-proy { display:block; text-decoration:none; color:inherit; background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius); padding:20px 22px; margin-bottom:14px; transition:border-color .25s, box-shadow .25s; }
.mn-proy:hover { border-color:var(--mn-amarillo); box-shadow:var(--mn-shadow-hover); }
.mn-proy-cab { display:flex; gap:10px; flex-wrap:wrap; align-items:center; margin-bottom:10px; }
.mn-codigo { font-family:var(--mn-mono); font-size:11.5px; font-weight:500; background:var(--mn-amarillo); color:var(--mn-carbon); padding:3px 9px; border-radius:var(--mn-radius-pill); letter-spacing:.04em; }
.mn-estado { font-family:var(--mn-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; padding:4px 9px; border-radius:var(--mn-radius-pill); background:var(--mn-border-2); color:var(--mn-text-3); }
.mn-estado.ok { background:var(--mn-carbon); color:var(--mn-amarillo); }
.mn-estado.curso { background:var(--mn-amarillo); color:var(--mn-carbon); }
.mn-estado.alerta { background:var(--mn-text-3); color:#fff; }
.mn-proy h3 { margin:0 0 10px; font-size:17px; line-height:1.35; }
.mn-proy-datos { display:flex; flex-wrap:wrap; gap:6px 18px; font-size:13px; color:var(--mn-text-3); }
.mn-proy-datos b { font-weight:600; color:var(--mn-text); }
.mn-campos { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:20px; }
.mn-campo dt { font-family:var(--mn-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; color:var(--mn-muted); margin-bottom:4px; }
.mn-campo dd { margin:0; font-size:14px; font-weight:500; }
.mn-campo dd small { display:block; font-weight:400; color:var(--mn-muted-soft); font-size:12px; margin-top:2px; }
.mn-equipo { display:flex; flex-wrap:wrap; gap:8px; }
.mn-equipo a { display:inline-flex; align-items:center; gap:6px; background:var(--mn-bg); border:1px solid var(--mn-border); border-radius:var(--mn-radius-pill); padding:6px 14px; font-size:13px; text-decoration:none; color:var(--mn-text); transition:background .15s, border-color .15s; }
.mn-equipo a:hover { background:var(--mn-amarillo-suave); border-color:var(--mn-amarillo-borde); }
.mn-equipo small { color:var(--mn-muted-soft); }
.mn-texto-largo { white-space:pre-wrap; line-height:1.7; color:var(--mn-text-2); margin:0; }

/* ---------- Bases de datos (la vista arma las tarjetas con su script de siempre) ---------- */
.bbdd-barra { display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-bottom:16px; }
.bbdd-search { flex:1 1 320px; display:flex; gap:8px; align-items:center; background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius-sm); padding:4px 4px 4px 14px; }
.bbdd-search:focus-within { border-color:var(--mn-carbon); }
.bbdd-search input { flex:1; min-width:0; border:0; outline:none; font:inherit; font-size:14px; padding:9px 0; background:transparent; }
.bbdd-search input:focus-visible { outline:none; }
.bbdd-search button { background:var(--mn-carbon); color:#fff; border:0; cursor:pointer; font:inherit; font-size:13.5px; font-weight:600; padding:9px 16px; border-radius:var(--mn-radius-xs); }
.bbdd-filtros { background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius); padding:16px 20px; margin-bottom:18px; }
.bbdd-filtros-row { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.bbdd-label { font-family:var(--mn-mono); font-size:11px; color:var(--mn-muted); text-transform:uppercase; letter-spacing:.1em; margin-right:6px; }
.bbdd-chip { display:inline-block; background:var(--mn-surface); border:1px solid var(--mn-border); padding:5px 13px; border-radius:var(--mn-radius-pill); font-size:12.5px; cursor:pointer; color:var(--mn-text-2); transition:border-color .15s, background .15s; user-select:none; font-family:inherit; }
.bbdd-chip:hover { border-color:var(--mn-carbon); }
.bbdd-chip.active { background:var(--mn-carbon); color:var(--mn-amarillo); border-color:var(--mn-carbon); }
.bbdd-resumen { font-size:13.5px; color:var(--mn-text-3); margin-bottom:14px; }
.bbdd-resumen strong { color:var(--mn-text); }
.bbdd-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(310px, 1fr)); gap:16px; }
.bbdd-card { background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius); padding:20px; transition:border-color .25s, box-shadow .25s; display:flex; flex-direction:column; }
.bbdd-card:hover { border-color:var(--mn-amarillo); box-shadow:var(--mn-shadow-hover); }
.bbdd-card h3 { margin:0 0 8px; font-size:16.5px; }
.bbdd-card h3 a { color:var(--mn-text); text-decoration:none; }
.bbdd-card h3 a:hover { text-decoration:underline; }
.bbdd-tags { display:flex; flex-wrap:wrap; gap:4px; margin-bottom:10px; }
.bbdd-tags .tg { font-family:var(--mn-mono); background:var(--mn-carbon); color:var(--mn-amarillo); padding:3px 7px; border-radius:5px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.bbdd-card p { font-size:13px; color:var(--mn-text-3); margin:0 0 14px; line-height:1.55; flex:1; }
.bbdd-meta { display:flex; justify-content:space-between; align-items:center; font-size:12px; color:var(--mn-muted); }
.bbdd-meta .lang { font-family:var(--mn-mono); font-size:11px; background:var(--mn-bg); padding:3px 8px; border-radius:6px; }
.bbdd-meta .visit { background:var(--mn-amarillo); color:var(--mn-carbon); text-decoration:none; padding:6px 13px; border-radius:var(--mn-radius-xs); font-weight:600; font-size:12.5px; }
.bbdd-meta .visit:hover { background:var(--mn-amarillo-hover); }
.bbdd-empty { background:var(--mn-surface); padding:50px; text-align:center; color:var(--mn-muted); border-radius:var(--mn-radius); border:1px solid var(--mn-border); }

/* ---------- Políticas ---------- */
.mnpol-indice { display:flex; flex-wrap:wrap; gap:8px; margin:0 0 24px; }
.mnpol-indice a { font-size:13px; color:var(--mn-text-2); text-decoration:none; background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius-pill); padding:7px 15px; transition:background .15s, border-color .15s; }
.mnpol-indice a:hover { background:var(--mn-amarillo); border-color:var(--mn-amarillo); }
.mnpol-sec { scroll-margin-top:140px; padding:28px 32px; }
.mnpol-sec h2 { display:flex; gap:14px; align-items:center; font-size:20px; margin:0 0 14px; padding-bottom:12px; border-bottom:2px solid var(--mn-amarillo); }
.mnpol-num { font-family:var(--mn-mono); font-size:13px; font-weight:500; background:var(--mn-carbon); color:var(--mn-amarillo); border-radius:8px; min-width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; letter-spacing:.04em; }
.mnpol-sec p, .mnpol-sec li { font-size:14.5px; color:var(--mn-text-2); line-height:1.75; }
.mnpol-sec ul { margin:8px 0; padding-left:22px; }
.mnpol-sec a { color:var(--mn-text); }
.mnpol-mod { display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:12px; margin:14px 0; }
.mnpol-mod .mn-card { padding:16px 18px; margin:0; box-shadow:none; background:var(--mn-bg); }
.mnpol-mod strong { display:block; color:var(--mn-text); font-size:14px; margin-bottom:4px; }
.mnpol-mod span { font-size:13px; color:var(--mn-muted); line-height:1.55; }
.mnpol-contacto { background:var(--mn-amarillo-suave); border:1px solid var(--mn-amarillo-borde); border-left:6px solid var(--mn-amarillo); box-shadow:none; }
.mnpol-contacto p { margin:0; font-size:13.5px; color:var(--mn-text-2); line-height:1.65; }

/* ---------- Pie ---------- */
.mn-pie { background:var(--mn-carbon); color:var(--mn-on-dark); border-top:3px solid var(--mn-amarillo); font-size:13.5px; }
.mn-pie-inner { max-width:var(--mn-max); margin:0 auto; padding:56px 32px 40px; display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; }
.mn-pie-marca { display:flex; align-items:center; gap:10px; color:#fff; font-size:16px; font-weight:600; margin:0 0 14px; }
.mn-pie-marca b { color:var(--mn-amarillo); font-weight:600; letter-spacing:.06em; }
.mn-pie h2 { font-family:var(--mn-mono); font-size:11px; font-weight:500; text-transform:uppercase; letter-spacing:.12em; color:var(--mn-amarillo); margin:0 0 14px; }
.mn-pie p { margin:0 0 16px; line-height:1.7; color:var(--mn-on-dark); }
.mn-pie a { display:block; color:var(--mn-on-dark-2); text-decoration:none; margin-bottom:9px; transition:color .15s; }
.mn-pie a:hover { color:var(--mn-amarillo); }
.mn-pie-badges { display:flex; gap:8px; flex-wrap:wrap; }
.mn-pie-badge { font-family:var(--mn-mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.1em; padding:4px 10px; border-radius:var(--mn-radius-pill); background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.14); color:var(--mn-on-dark-2); }
.mn-pie-badge.oa { background:rgba(235,225,0,.1); border-color:rgba(235,225,0,.35); color:var(--mn-amarillo); }
.mn-pie-bottom { border-top:1px solid rgba(255,255,255,.1); }
.mn-pie-bottom-inner { max-width:var(--mn-max); margin:0 auto; padding:18px 32px; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-family:var(--mn-mono); font-size:11.5px; color:#A8A497; }

/* ---------- Adaptación ---------- */
@media (min-width:901px) {
    /* En escritorio la fila cabe: sin recorte para que el mega-menú no quede oculto por el overflow */
    .mn-nav-inner { overflow:visible; flex-wrap:nowrap; }
}
@media (min-width:901px) and (max-width:1120px) {
    /* Pantallas medianas: la fila se compacta para caber en una línea (si se partiera en dos, el puntero
       cruzaría otros ítems al bajar al mega-menú y el panel se cerraría) */
    .mn-nav-inner { padding:0 10px; }
    .mn-nav-enlace { padding:12px 8px; font-size:12.5px; gap:4px; }
}
@media (max-width:900px) {
    .mn-top-inner, .mn-cab-inner, .mn-migas-inner { padding-left:18px; padding-right:18px; }
    .mn-marca-red, .mn-marca-sep { display:none; }
    .mn-cab-acciones { flex:1 1 100%; }
    .mn-cab-buscar { max-width:none; }
    .mn-kbd { display:none; }
    .mn-nav-inner { padding:0 8px; }
    .mn-nav-enlace { padding:12px 11px; font-size:13px; }
    /* El panel abre fijo bajo la barra; el script le pone el top al abrir */
    .mn-nav-item:hover > .mn-mega, .mn-nav-item:focus-within > .mn-mega { display:none; }
    .mn-nav-item.open > .mn-mega { display:block; position:fixed; left:0; right:0; max-height:70vh; overflow-y:auto; margin-top:0; }
    .mn-mega-inner { flex-direction:column; padding:22px 18px; gap:22px; }
    .mn-mega-card { max-width:none; flex:1 1 auto; width:100%; }
    .mn-banda-inner { padding:34px 18px 0; }
    .mn-wrap { padding:28px 18px 72px; }
    .mn-seccion { padding:64px 18px 0; }
    .mn-hero-inner { padding:72px 18px 100px; }
    .mn-kpis { margin-left:18px; margin-right:18px; }
    .mn-filtros { position:static; max-width:none; max-height:none; flex:1 1 100%; order:-1; background:var(--mn-surface); border:1px solid var(--mn-border); border-radius:var(--mn-radius); padding:18px; }
    .mn-layout { gap:24px; }
    .mn-aside { position:static; max-width:none; flex:1 1 100%; }
    .mn-articulo { padding:26px 22px; }
    .mn-datos > div { flex-direction:column; gap:2px; }
    .mn-datos dt { flex:none; }
    .mn-pie-inner { grid-template-columns:1fr 1fr; padding:40px 18px 28px; gap:28px; }
    .mn-pie-bottom-inner { padding:16px 18px; }
    .mn-acerca { padding:26px 22px; }
    .mnpol-sec { padding:22px 20px; }
}
@media (max-width:640px) {
    .mn-pie-inner { grid-template-columns:1fr; }
    .mn-buscador { flex-wrap:wrap; }
    .mn-buscador .mn-ico { display:none; }
    .mn-buscador input { flex:1 1 100%; padding:12px; }
    .mn-buscador button { flex:1; }
    .mn-item { gap:14px; padding:14px; }
    .mn-portada { width:72px; height:100px; padding:9px 8px; }
    .mn-cifras { grid-template-columns:1fr 1fr 1fr; width:100%; }
    .mn-btn-acceso { padding:9px 12px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior:auto; }
    * { transition:none !important; animation:none !important; }
    .mn-com:hover, .mn-inv:hover, .mn-criterio:hover { transform:none; }
    .mn-hero canvas { display:none; }
}
@media print {
    .mn-top, .mn-cab, .mn-migas, .mn-pie, .mn-paleta, .mn-filtros, .mn-pag { display:none !important; }
    .mn-banda, .mn-hero { background:#fff !important; color:#000 !important; }
    .mn-banda h1, .mn-hero h1 { color:#000 !important; }
    .mn-aside { position:static; max-width:none; }
}
