/* =========================================================================
   INTERVENCIONES — Panel de control tipo CORE
   Cabecera oscura (pantalla de sala) + feed claro de partes.
   Depende de consorcio.css (secciones, wrap, cta, deco, reveal).
   ========================================================================= */

.cpeis-intervenciones .cpeis-core {
    --core-bg: #101216;
    position: relative;
    overflow: hidden;
    padding-block: clamp(2.5rem, 6vw, 4.5rem) clamp(3rem, 7vw, 5rem);
    color: #fff;
    background:
        radial-gradient(120% 90% at 85% -10%, rgba(206,16,25,0.28), transparent 55%),
        radial-gradient(90% 80% at 0% 0%, rgba(58,120,255,0.12), transparent 50%),
        linear-gradient(180deg, #14161b, #0c0d11);
}
/* Retícula técnica de fondo. */
.cpeis-intervenciones .cpeis-core::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
    background-size: 44px 44px;
    -webkit-mask-image: radial-gradient(120% 100% at 50% 0%, #000 35%, transparent 80%);
            mask-image: radial-gradient(120% 100% at 50% 0%, #000 35%, transparent 80%);
    pointer-events: none;
}
.cpeis-intervenciones .cpeis-core .cpeis-wrap { position: relative; z-index: 1; }

/* --- Barra de estado superior --- */
.cpeis-core__bar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.25rem;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 1.25rem;
    margin-bottom: clamp(1.5rem, 4vw, 2.75rem);
    border-bottom: 1px solid rgba(255,255,255,0.10);
    font-size: 0.8rem;
}
.cpeis-core__brand {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: rgba(255,255,255,0.86);
}
.cpeis-core__dot {
    width: 9px; height: 9px; border-radius: 50%;
    background: var(--cpeis-acento);
    box-shadow: 0 0 0 4px rgba(206,16,25,0.20);
}
.cpeis-core__live { display: inline-flex; align-items: center; gap: 1rem; }
.cpeis-core__status {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-weight: 600;
    color: #4ade80;
    letter-spacing: 0.02em;
}
.cpeis-core__pulse {
    width: 8px; height: 8px; border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 0 rgba(74,222,128,0.6);
    animation: cpeis-pulse 2s infinite;
}
@keyframes cpeis-pulse {
    0%   { box-shadow: 0 0 0 0 rgba(74,222,128,0.55); }
    70%  { box-shadow: 0 0 0 9px rgba(74,222,128,0); }
    100% { box-shadow: 0 0 0 0 rgba(74,222,128,0); }
}
.cpeis-core__clock {
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum";
    letter-spacing: 0.04em;
    color: rgba(255,255,255,0.92);
    font-weight: 600;
}

/* --- Intro --- */
.cpeis-core__intro { max-width: 46rem; }
.cpeis-intervenciones .cpeis-core .cpeis-eyebrow { color: #ff7a82; }
.cpeis-intervenciones .cpeis-core h1 {
    color: #fff;
    font-size: clamp(2rem, 4.4vw, 3.2rem);
    line-height: 1.05;
    letter-spacing: -0.02em;
    margin: 0.5rem 0 0;
}
.cpeis-intervenciones .cpeis-core h1 em { font-style: normal; color: #ff7a82; }
.cpeis-core__sub {
    margin: 1rem 0 0;
    font-size: var(--cpeis-fs-medio);
    color: rgba(255,255,255,0.72);
    line-height: 1.55;
}

/* --- KPIs --- */
.cpeis-core__kpis {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0.9rem;
    margin-top: clamp(1.75rem, 4vw, 2.75rem);
}
.cpeis-kpi {
    padding: 1.1rem 1.25rem;
    border-radius: var(--cpeis-radius);
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.10);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}
.cpeis-kpi__num {
    display: block;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 800;
    letter-spacing: -0.03em;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    color: #fff;
}
.cpeis-kpi--last .cpeis-kpi__num { color: #ff7a82; }
.cpeis-kpi__label {
    display: block;
    margin-top: 0.4rem;
    font-size: 0.78rem;
    letter-spacing: 0.02em;
    color: rgba(255,255,255,0.6);
}

/* --- Barras por tipo --- */
.cpeis-core__types {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem 2.5rem;
    margin-top: clamp(1.75rem, 4vw, 2.5rem);
    padding-top: clamp(1.25rem, 3vw, 1.75rem);
    border-top: 1px solid rgba(255,255,255,0.10);
}
.cpeis-coretype {
    display: grid;
    grid-template-columns: 22px 1fr 1fr auto;
    align-items: center;
    gap: 0.7rem;
}
.cpeis-coretype__ico { color: var(--tipo); display: inline-flex; }
.cpeis-coretype__ico svg { width: 18px; height: 18px; }
.cpeis-coretype__label { font-size: 0.82rem; color: rgba(255,255,255,0.82); white-space: nowrap; }
.cpeis-coretype__bar {
    position: relative;
    height: 6px;
    border-radius: 99px;
    background: rgba(255,255,255,0.10);
    overflow: hidden;
}
.cpeis-coretype__bar i {
    position: absolute;
    inset: 0 auto 0 0;
    width: 0;
    border-radius: 99px;
    background: var(--tipo);
    transition: width 1.1s cubic-bezier(0.22,1,0.36,1) 0.2s;
}
.cpeis-core.is-visible .cpeis-coretype__bar i,
.is-visible .cpeis-coretype__bar i { width: var(--w); }
.cpeis-coretype__n {
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    color: #fff;
    min-width: 1.5rem;
    text-align: right;
}

/* =========================================================================
   TOOLBAR DE FILTRO
   ========================================================================= */
.cpeis-int-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: var(--cpeis-space-4);
}
.cpeis-chip {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.5rem 0.95rem;
    border-radius: 10px;
    border: 1px solid var(--cpeis-borde);
    background: var(--cpeis-fondo);
    color: var(--cpeis-texto);
    font-size: 0.85rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color var(--cpeis-transition), background var(--cpeis-transition), color var(--cpeis-transition), transform var(--cpeis-transition);
}
.cpeis-chip:hover { transform: translateY(-1px); border-color: var(--cpeis-texto-secundario); }
.cpeis-chip span { color: var(--cpeis-texto-secundario); font-variant-numeric: tabular-nums; font-weight: 700; }
.cpeis-chip__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--tipo, var(--cpeis-acento)); }
.cpeis-chip.is-active {
    background: var(--cpeis-acento);
    border-color: var(--cpeis-acento);
    color: #fff;
    box-shadow: 0 6px 16px rgba(206,16,25,0.25);
}
.cpeis-chip.is-active:hover { border-color: var(--cpeis-acento); }
.cpeis-chip.is-active span { color: rgba(255,255,255,0.82); }
.cpeis-chip.is-active .cpeis-chip__dot { background: #fff; box-shadow: none; }

/* =========================================================================
   FEED DE PARTES
   ========================================================================= */
.cpeis-int-feed {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--cpeis-space-3);
}
.cpeis-parte {
    position: relative;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border-radius: var(--cpeis-radius-lg);
    border: 1px solid var(--cpeis-borde);
    background: var(--cpeis-fondo);
    box-shadow: var(--cpeis-shadow);
    border-top: 3px solid var(--tipo);
    transition: transform var(--cpeis-transition), box-shadow var(--cpeis-transition);
}
.cpeis-parte:hover { transform: translateY(-4px); box-shadow: var(--cpeis-shadow-lg); }
.cpeis-parte.is-hidden { display: none; }

.cpeis-parte__media { display: block; aspect-ratio: 16/9; overflow: hidden; background: var(--cpeis-fondo-alt); }
.cpeis-parte__media img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform var(--cpeis-transition); }
.cpeis-parte:hover .cpeis-parte__media img { transform: scale(1.04); }

.cpeis-parte__body {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
    flex: 1;
    padding: var(--cpeis-space-3);
}
/* Insignia de localidad (icono geo en color del tipo). */
.cpeis-parte__loc-ico {
    display: grid;
    place-items: center;
    width: 38px; height: 38px;
    margin-bottom: 0.5rem;
    border-radius: 10px;
    color: var(--tipo);
    background: color-mix(in srgb, var(--tipo) 13%, transparent);
}
.cpeis-parte__loc-ico svg { width: 20px; height: 20px; }
/* Localidad: protagonista, estilo título. */
.cpeis-parte__loc {
    font-size: clamp(1.1rem, 1.5vw, 1.3rem);
    font-weight: 700;
    line-height: 1.18;
    letter-spacing: -0.015em;
    margin: 0;
    color: var(--cpeis-texto);
}
.cpeis-parte__loc a { color: inherit; text-decoration: none; }
.cpeis-parte:hover .cpeis-parte__loc a { color: var(--tipo); }
/* Tipo de intervención (lo que escribe el operador). */
.cpeis-parte__tipo {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin: 0.1rem 0 0;
    font-size: 0.9rem;
    line-height: 1.4;
    color: var(--cpeis-texto-secundario);
}
.cpeis-parte__tipo-dot { flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: var(--tipo); }
.cpeis-parte__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem 1rem;
    margin-top: auto;
    padding-top: var(--cpeis-space-2);
    border-top: 1px solid var(--cpeis-borde);
}
.cpeis-parte__metaitem {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: 0.76rem;
    color: var(--cpeis-texto-secundario);
    font-variant-numeric: tabular-nums;
}
.cpeis-parte__metaitem svg { width: 14px; height: 14px; opacity: 0.7; }
.cpeis-parte__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-top: 0.7rem;
}
.cpeis-parte__ref {
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    color: var(--cpeis-texto-secundario);
    font-variant-numeric: tabular-nums;
    font-family: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, monospace;
}
.cpeis-parte__more {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.82rem;
    font-weight: 600;
    color: var(--cpeis-acento);
    text-decoration: none;
}
.cpeis-parte__more svg { width: 15px; height: 15px; transition: transform var(--cpeis-transition); }
.cpeis-parte__more:hover svg { transform: translateX(3px); }

/* --- Estados vacíos --- */
.cpeis-int-empty, .cpeis-int-empty-filter {
    text-align: center;
    color: var(--cpeis-texto-secundario);
}
.cpeis-int-empty {
    padding: clamp(2.5rem, 8vw, 5rem) 1rem;
    border: 1px dashed var(--cpeis-borde);
    border-radius: var(--cpeis-radius-lg);
    background: var(--cpeis-fondo);
}
.cpeis-int-empty__ico { display: inline-flex; color: var(--cpeis-acento); }
.cpeis-int-empty__ico svg { width: 40px; height: 40px; }
.cpeis-int-empty h2 { margin: 0.75rem 0 0.35rem; color: var(--cpeis-texto); }
.cpeis-int-empty-filter { padding: 2rem 1rem; }

/* =========================================================================
   RESPONSIVE
   ========================================================================= */
@media (max-width: 980px) {
    .cpeis-int-feed { grid-template-columns: repeat(2, 1fr); }
    .cpeis-core__kpis { grid-template-columns: repeat(2, 1fr); }
    .cpeis-core__types { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
    .cpeis-int-feed { grid-template-columns: 1fr; }
    .cpeis-core__bar { font-size: 0.72rem; }
    .cpeis-coretype { grid-template-columns: 20px 1fr 1.2fr auto; }
}

/* Fallback si color-mix no está soportado. */
@supports not (color: color-mix(in srgb, red 10%, white)) {
    .cpeis-parte__tag { background: rgba(0,0,0,0.05); }
}

/* =========================================================================
   FICHA DEL PARTE (DATOS DE LA INTERVENCIÓN) — en el parte individual
   ========================================================================= */
.cpeis-ficha {
    --tipo: var(--cpeis-acento);
    margin: 0 0 2rem;
    border: 1px solid var(--cpeis-borde);
    border-radius: var(--cpeis-radius-lg);
    background: var(--cpeis-fondo);
    box-shadow: var(--cpeis-shadow);
    overflow: hidden;
}
/* La ficha es un <section>: anula el padding-block de «.cpeis-consorcio section»
   que metía un hueco blanco dentro del panel (sobre la cabecera y bajo la tabla). */
.cpeis-consorcio .cpeis-ficha { padding: 0; }

/* Bloque de observaciones (texto largo, a todo el ancho del panel). */
.cpeis-ficha__obs { padding: 1.1rem 1.25rem 1.25rem; border-top: 1px solid var(--cpeis-borde); }
.cpeis-ficha__obs dt {
    font-size: 0.68rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em;
    color: var(--cpeis-texto-secundario); margin-bottom: 0.4rem;
}
.cpeis-ficha__obs p { margin: 0; font-size: 0.95rem; line-height: 1.6; color: var(--cpeis-texto); }
.cpeis-ficha__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.9rem 1.25rem;
    background: #14161b;
    color: #fff;
    border-bottom: 3px solid var(--tipo);
}
.cpeis-ficha__kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}
.cpeis-ficha__kicker svg { width: 17px; height: 17px; color: var(--tipo); }
.cpeis-ficha__ref {
    font-family: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, monospace;
    font-size: 0.74rem;
    letter-spacing: 0.04em;
    color: rgba(255,255,255,0.7);
}
.cpeis-ficha__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0;
    margin: 0;
    background: var(--cpeis-fondo);
    border-bottom: 1px solid var(--cpeis-borde); /* cierra la última fila */
}
.cpeis-ficha__cell {
    background: var(--cpeis-fondo);
    padding: 0.95rem 1.25rem;
    border-top: 1px solid var(--cpeis-borde);
    border-left: 1px solid var(--cpeis-borde);
}
/* Sin línea izquierda en la primera columna de cada fila de 3. */
.cpeis-ficha__cell:nth-child(3n+1) { border-left: 0; }
/* Celdas de relleno: cierran la rejilla sin contenido. */
.cpeis-ficha__cell--filler { padding: 0; }
.cpeis-ficha__cell dt {
    font-size: 0.68rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--cpeis-texto-secundario);
    margin-bottom: 0.3rem;
}
.cpeis-ficha__cell dd {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--cpeis-texto);
    line-height: 1.35;
}
.cpeis-ficha__dot {
    display: inline-block;
    width: 9px; height: 9px;
    border-radius: 50%;
    background: var(--tipo);
    margin-right: 0.45rem;
    vertical-align: middle;
}
.cpeis-ficha__link { color: var(--cpeis-acento); text-decoration: none; font-weight: 600; }
.cpeis-ficha__link:hover { text-decoration: underline; }
.cpeis-ficha__back {
    display: inline-block;
    margin: 0.25rem 1.25rem 1.1rem;
    font-size: 0.85rem;
    font-weight: 600;
    color: var(--cpeis-texto-secundario);
    text-decoration: none;
}
.cpeis-ficha__back:hover { color: var(--cpeis-acento); }

@media (max-width: 640px) {
    .cpeis-ficha__grid { grid-template-columns: 1fr; }
    .cpeis-ficha__cell { border-left: 0; }
    .cpeis-ficha__cell--filler { display: none; } /* en una columna no hacen falta */
}

/* =========================================================================
   PARTE INDIVIDUAL — título técnico + limpieza de la entrada
   ========================================================================= */
.single-intervencion .entry-header { margin-bottom: 1.25rem; }
.single-intervencion .entry-title {
    font-size: clamp(1.4rem, 2.6vw, 1.95rem);
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -0.015em;
    color: var(--cpeis-texto);
    max-width: 52rem;
}
/* Oculta los metadatos/navegación por defecto del tema en los partes. */
.single-intervencion .entry-meta,
.single-intervencion .entry-footer,
.single-intervencion .post-navigation,
.single-intervencion .nav-links,
.single-intervencion .comments-area,
.single-intervencion .author-info { display: none; }

/* =========================================================================
   BUSCADOR / ORDEN / FILTRO del listado
   ========================================================================= */
.cpeis-int-search {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    margin-bottom: var(--cpeis-space-3);
}
.cpeis-int-searchbox {
    position: relative;
    flex: 1 1 320px;
}
.cpeis-int-searchbox svg {
    position: absolute;
    left: 0.9rem;
    top: 50%;
    transform: translateY(-50%);
    width: 18px; height: 18px;
    color: var(--cpeis-texto-secundario);
    pointer-events: none;
}
.cpeis-int-searchbox input {
    width: 100%;
    padding: 0.7rem 2.4rem 0.7rem 2.6rem;
    border: 1px solid var(--cpeis-borde);
    border-radius: 10px;
    background: var(--cpeis-fondo);
    font-size: 0.92rem;
    color: var(--cpeis-texto);
    transition: border-color var(--cpeis-transition), box-shadow var(--cpeis-transition);
}
.cpeis-int-searchbox input::placeholder { color: var(--cpeis-texto-secundario); }
.cpeis-int-searchbox input:focus {
    outline: none;
    border-color: var(--cpeis-acento);
    box-shadow: 0 0 0 3px rgba(206,16,25,0.12);
}
.cpeis-int-searchbox__clear {
    position: absolute;
    right: 0.5rem;
    top: 50%;
    transform: translateY(-50%);
    width: 26px; height: 26px;
    display: none;
    align-items: center;
    justify-content: center;
    border: 0;
    border-radius: 7px;
    background: var(--cpeis-fondo-alt);
    color: var(--cpeis-texto-secundario);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
}
.cpeis-int-searchbox.has-text .cpeis-int-searchbox__clear { display: inline-flex; }
.cpeis-int-field {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    font-size: 0.85rem;
    color: var(--cpeis-texto-secundario);
    font-weight: 600;
}
.cpeis-int-field select,
.cpeis-int-field input[type="date"] {
    padding: 0.6rem 0.85rem;
    border: 1px solid var(--cpeis-borde);
    border-radius: 10px;
    background: var(--cpeis-fondo);
    color: var(--cpeis-texto);
    font-size: 0.88rem;
    font-weight: 600;
    cursor: pointer;
    font-family: inherit;
}
.cpeis-int-field select {
    padding-right: 2rem;
    -webkit-appearance: none;
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.7rem center;
}
.cpeis-int-field select:focus,
.cpeis-int-field input[type="date"]:focus { outline: none; border-color: var(--cpeis-acento); box-shadow: 0 0 0 3px rgba(206,16,25,0.12); }
.cpeis-int-datereset {
    position: absolute; right: -6px; top: -6px;
    width: 18px; height: 18px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 0; border-radius: 50%;
    background: var(--cpeis-texto); color: #fff;
    font-size: 12px; line-height: 1; cursor: pointer;
    z-index: 2;
}
.cpeis-int-datereset[hidden] { display: none; }
.cpeis-int-count {
    margin: 0 0 var(--cpeis-space-3);
    font-size: 0.85rem;
    color: var(--cpeis-texto-secundario);
    font-variant-numeric: tabular-nums;
}
.cpeis-int-count b { color: var(--cpeis-texto); font-weight: 700; }
@media (max-width: 700px) {
    .cpeis-int-field { flex: 1 1 100%; justify-content: space-between; }
    .cpeis-int-field select, .cpeis-int-field input[type="date"] { flex: 1; }
}

/* =========================================================================
   AJUSTE DE ESPACIADO + EFECTO «CENTRO DE CONTROL» en la ficha
   ========================================================================= */
/* Menos aire entre el panel CORE y el buscador. */
.cpeis-intervenciones .cpeis-int-listado { padding-top: clamp(1.25rem, 3vw, 2rem); }

/* HUD de la cabecera de la ficha (estado + referencia). */
.cpeis-ficha__hud { display: inline-flex; align-items: center; gap: 0.85rem; }
.cpeis-ficha__status {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #4ade80;
}
.cpeis-ficha__status i {
    width: 7px; height: 7px; border-radius: 50%;
    background: #4ade80;
    box-shadow: 0 0 0 0 rgba(74,222,128,0.6);
    animation: cpeis-pulse 2.4s infinite;
}

/* La ficha como pantalla de sala: encuadre + retícula + barrido. */
.cpeis-ficha { position: relative; }
.cpeis-ficha::before,
.cpeis-ficha::after {
    content: "";
    position: absolute;
    width: 15px; height: 15px;
    z-index: 3;
    pointer-events: none;
    border: 2px solid var(--tipo);
}
.cpeis-ficha::before { top: 9px; left: 9px; border-right: 0; border-bottom: 0; border-top-left-radius: 3px; }
.cpeis-ficha::after  { bottom: 9px; right: 9px; border-left: 0; border-top: 0; border-bottom-right-radius: 3px; }

.cpeis-ficha__head { position: relative; overflow: hidden; }
/* Barrido tipo escáner (sin cuadrícula). */
.cpeis-ficha__head::after {
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0;
    width: 45%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.07), transparent);
    transform: translateX(-130%);
    animation: cpeis-scan 5s linear infinite;
    pointer-events: none;
}
.cpeis-ficha__head > * { position: relative; z-index: 1; }
@keyframes cpeis-scan {
    0%   { transform: translateX(-130%); }
    100% { transform: translateX(360%); }
}
@media (prefers-reduced-motion: reduce) {
    .cpeis-ficha__head::after, .cpeis-ficha__status i { animation: none; }
}

/* =========================================================================
   PARTE INDIVIDUAL — banner «centro de control» (single-intervencion.php)
   ========================================================================= */
.cpeis-parte-single .cpeis-parte-hero {
    position: relative;
    overflow: hidden;
    padding-block: clamp(1.5rem, 4vw, 2.5rem) clamp(2.5rem, 6vw, 4rem);
    color: #fff;
    background:
        radial-gradient(120% 120% at 88% -20%, color-mix(in srgb, var(--tipo) 40%, transparent), transparent 55%),
        radial-gradient(90% 90% at 0% 0%, rgba(58,120,255,0.10), transparent 50%),
        linear-gradient(180deg, #14161b, #0c0d11);
}
.cpeis-parte-hero::before { /* retícula técnica */
    content: "";
    position: absolute; inset: 0;
    background-image:
        linear-gradient(rgba(255,255,255,0.05) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.05) 1px, transparent 1px);
    background-size: 44px 44px;
    -webkit-mask-image: radial-gradient(130% 100% at 30% 0%, #000 30%, transparent 78%);
            mask-image: radial-gradient(130% 100% at 30% 0%, #000 30%, transparent 78%);
    pointer-events: none;
}
.cpeis-parte-hero::after { /* franja del color del tipo al pie */
    content: "";
    position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
    background: linear-gradient(90deg, var(--tipo), transparent 70%);
}
.cpeis-parte-hero .cpeis-wrap { position: relative; z-index: 1; }

.cpeis-parte-hero__bar {
    display: flex; align-items: center; justify-content: space-between;
    flex-wrap: wrap; gap: 0.75rem 1rem;
    padding-bottom: 1.25rem; margin-bottom: clamp(1.25rem, 3vw, 2rem);
    border-bottom: 1px solid rgba(255,255,255,0.10);
}
.cpeis-parte-hero__back {
    display: inline-flex; align-items: center; gap: 0.45rem;
    font-size: 0.82rem; font-weight: 600; letter-spacing: 0.02em;
    color: rgba(255,255,255,0.78); text-decoration: none;
    transition: color var(--cpeis-transition);
}
.cpeis-parte-hero__back svg { width: 16px; height: 16px; }
.cpeis-parte-hero__back:hover { color: #fff; }
.cpeis-parte-hero__hud { display: inline-flex; align-items: center; gap: 0.9rem; }
.cpeis-parte-hero__status {
    display: inline-flex; align-items: center; gap: 0.4rem;
    font-size: 0.66rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase;
    color: #4ade80;
}
.cpeis-parte-hero__status i {
    width: 7px; height: 7px; border-radius: 50%; background: #4ade80;
    box-shadow: 0 0 0 0 rgba(74,222,128,0.6); animation: cpeis-pulse 2.4s infinite;
}
.cpeis-parte-hero__ref {
    font-family: ui-monospace, "SF Mono", "SFMono-Regular", Menlo, monospace;
    font-size: 0.74rem; letter-spacing: 0.04em; color: rgba(255,255,255,0.7);
}

.cpeis-parte-hero__tag {
    display: inline-flex; align-items: center; gap: 0.45rem;
    font-size: 0.78rem; font-weight: 700; letter-spacing: 0.03em; text-transform: uppercase;
    color: var(--tipo);
    background: color-mix(in srgb, var(--tipo) 16%, transparent);
    border: 1px solid color-mix(in srgb, var(--tipo) 35%, transparent);
    padding: 0.3rem 0.7rem; border-radius: 8px;
}
.cpeis-parte-hero__tag svg { width: 15px; height: 15px; }
.cpeis-parte-hero__loc {
    margin: 0.85rem 0 0;
    font-size: clamp(2rem, 5vw, 3.4rem);
    font-weight: 800; line-height: 1.04; letter-spacing: -0.025em; color: #fff;
}
.cpeis-parte-hero__tipo {
    margin: 0.55rem 0 0;
    font-size: clamp(1.05rem, 1.8vw, 1.4rem);
    font-weight: 500; color: rgba(255,255,255,0.78);
}
.cpeis-parte-hero__facts {
    display: flex; flex-wrap: wrap; gap: 0.6rem 1.5rem;
    margin-top: clamp(1.25rem, 3vw, 1.9rem);
    padding-top: clamp(1rem, 2.5vw, 1.4rem);
    border-top: 1px solid rgba(255,255,255,0.10);
}
.cpeis-parte-hero__fact {
    display: inline-flex; align-items: center; gap: 0.5rem;
    font-size: 0.9rem; color: rgba(255,255,255,0.82); font-variant-numeric: tabular-nums;
}
.cpeis-parte-hero__fact svg { width: 17px; height: 17px; color: var(--tipo); opacity: 0.95; }

/* La sección de la ficha respira y no queda vacía. */
/* Mayor especificidad para vencer a «.cpeis-consorcio section» y quitar el
   margen blanco entre el banner y la tabla (arriba y abajo). */
.cpeis-parte-single .cpeis-parte-detalle { padding-block: clamp(2.75rem, 5vw, 4rem); }
.cpeis-parte-single .cpeis-ficha { max-width: 1000px; margin-inline: auto; }

/* =========================================================================
   PAGINACIÓN (cliente, 9 por página)
   ========================================================================= */
.cpeis-parte.is-paged-out { display: none; }
.cpeis-int-pager {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.4rem;
    margin-top: var(--cpeis-space-5);
}
.cpeis-int-pager[hidden] { display: none; }
.cpeis-page {
    min-width: 40px;
    height: 40px;
    padding: 0 0.6rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--cpeis-borde);
    border-radius: 10px;
    background: var(--cpeis-fondo);
    color: var(--cpeis-texto);
    font-size: 0.9rem;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    cursor: pointer;
    transition: border-color var(--cpeis-transition), background var(--cpeis-transition), color var(--cpeis-transition), transform var(--cpeis-transition);
}
.cpeis-page:hover:not(:disabled):not(.is-active) { border-color: var(--cpeis-texto-secundario); transform: translateY(-1px); }
.cpeis-page.is-active {
    background: var(--cpeis-acento);
    border-color: var(--cpeis-acento);
    color: #fff;
    box-shadow: 0 6px 16px rgba(206,16,25,0.28);
}
.cpeis-page--nav { font-size: 1.1rem; }
.cpeis-page:disabled { opacity: 0.4; cursor: default; }
.cpeis-page--gap { border: 0; background: transparent; min-width: 1.4rem; cursor: default; color: var(--cpeis-texto-secundario); box-shadow: none; }
