/* Noticias, avisos y notificaciones (rediseño 09/09/2026)
   Paleta: azul marino institucional + turquesa; cada tipo tiene su acento. */
:root {
    --nt-urgente: #C62828;      --nt-urgente-suave: #FDECEA;
    --nt-aviso: #B7791F;        --nt-aviso-suave: #FDF3DC;
    --nt-noticia: #0E7C86;      --nt-noticia-suave: #E2F2F4;
    --nt-mant: #4A5A6A;         --nt-mant-suave: #ECF0F3;
}
.tipo-urgente       { --nt-color: var(--nt-urgente); --nt-suave: var(--nt-urgente-suave); }
.tipo-aviso         { --nt-color: var(--nt-aviso);   --nt-suave: var(--nt-aviso-suave); }
.tipo-noticia       { --nt-color: var(--nt-noticia); --nt-suave: var(--nt-noticia-suave); }
.tipo-mantenimiento { --nt-color: var(--nt-mant);    --nt-suave: var(--nt-mant-suave); }

/* ---------- Cabecera de la sección Noticias ---------- */
.noticias-hero {
    background: linear-gradient(135deg, var(--verde-primario) 0%, #143A5E 60%, var(--verde-acento) 140%);
    color: var(--blanco); border-radius: 16px; padding: 18px 18px 16px; margin-bottom: 14px;
    position: relative; overflow: hidden;
}
.noticias-hero::after {
    content: '📰'; position: absolute; right: -6px; bottom: -14px; font-size: 84px; opacity: 0.12;
}
.noticias-hero-sup { font-size: 11px; letter-spacing: 3px; color: var(--texto-claro-2); text-transform: uppercase; }
.noticias-hero h1 { font-size: 22px; font-weight: 700; margin: 4px 0 2px; color: var(--blanco); }
.noticias-hero p { font-size: 13px; color: var(--texto-claro-1); }
.noticias-hero-contadores { display: flex; gap: 8px; margin-top: 12px; flex-wrap: wrap; }
.noticias-hero-contadores span {
    background: rgba(255, 255, 255, 0.14); border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px; padding: 4px 12px; font-size: 12px; font-weight: 700;
}
.noticias-hero-contadores span.nuevas { background: var(--ambar); color: var(--verde-oscuro); border-color: transparent; }

/* ---------- Filtros con contador ---------- */
.noticias-filtros { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: 10px; scrollbar-width: none; }
.noticias-filtros::-webkit-scrollbar { display: none; }
.noticias-filtros .filtro { display: inline-flex; align-items: center; gap: 6px; padding: 7px 14px; }
.noticias-filtros .filtro small {
    background: rgba(14, 42, 71, 0.10); border-radius: 999px; padding: 1px 7px; font-size: 11px; font-weight: 700;
}
.noticias-filtros .filtro.activo small { background: rgba(255, 255, 255, 0.25); }

/* ---------- Tarjeta de noticia ---------- */
.noticia-tarjeta {
    position: relative; background: var(--blanco); border: 1px solid var(--gris-borde);
    border-left: 5px solid var(--nt-color, var(--verde-acento)); border-radius: 14px;
    padding: 12px 14px 12px 14px; margin-bottom: 12px; cursor: pointer;
    box-shadow: 0 2px 10px rgba(14, 42, 71, 0.06); transition: transform 0.12s, box-shadow 0.12s;
}
.noticia-tarjeta:active { transform: scale(0.99); }
.noticia-tarjeta:focus-visible { outline: 2px solid var(--verde-acento); outline-offset: 2px; }
.noticia-tarjeta.nueva { background: linear-gradient(90deg, var(--nt-suave) 0%, var(--blanco) 55%); }
.noticia-tarjeta-cab { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 6px; }
.noticia-tarjeta-icono {
    width: 30px; height: 30px; border-radius: 10px; display: inline-flex; align-items: center; justify-content: center;
    background: var(--nt-suave); font-size: 16px; flex-shrink: 0;
}
.noticia-chip {
    display: inline-block; padding: 3px 9px; border-radius: 999px; font-size: 11px; font-weight: 700;
    background: var(--nt-suave); color: var(--nt-color); letter-spacing: 0.3px;
}
.noticia-chip.chip-fijada { background: #FFF6D6; color: #8A6D1A; }
.noticia-chip.chip-nueva { background: var(--verde-acento); color: var(--blanco); }
.noticia-chip.chip-emergente { background: var(--ambar); color: var(--verde-oscuro); }
.noticia-chip.chip-adjunto { background: var(--gris-boton); color: var(--texto-oscuro); }
.noticia-tarjeta-fecha { margin-left: auto; font-size: 11px; color: var(--gris-deshabilitado); white-space: nowrap; }
.noticia-tarjeta-titulo { font-size: 15px; font-weight: 700; color: var(--texto-oscuro); line-height: 1.3; margin: 0 0 4px; }
.noticia-tarjeta-texto {
    font-size: 13px; color: var(--texto-secundario); line-height: 1.45;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.noticia-tarjeta.compacta .noticia-tarjeta-texto { -webkit-line-clamp: 2; }
.noticia-tarjeta-pie {
    display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px;
    font-size: 11px; color: var(--gris-deshabilitado);
}
.noticia-vence { color: var(--nt-color); font-weight: 700; }
.noticia-enlace-marca { color: var(--verde-acento); font-weight: 700; }
.noticia-leer-mas { margin-left: auto; color: var(--verde-acento); font-weight: 700; font-size: 12px; }

/* Estado vacío */
.noticias-vacio { text-align: center; padding: 36px 16px; color: var(--texto-secundario); }
.noticias-vacio .icono { font-size: 44px; margin-bottom: 8px; }
.noticias-vacio b { display: block; color: var(--texto-oscuro); font-size: 15px; margin-bottom: 4px; }

/* ---------- Inicio: carrusel de noticias recientes ---------- */
.inicio-noticias-carrusel {
    display: flex; gap: 10px; overflow-x: auto; padding: 2px 2px 8px; margin: 0 -2px;
    scroll-snap-type: x mandatory; scrollbar-width: none;
}
.inicio-noticias-carrusel::-webkit-scrollbar { display: none; }
.inicio-noticias-carrusel .noticia-tarjeta {
    flex: 0 0 82%; max-width: 300px; margin-bottom: 0; scroll-snap-align: start;
}
.inicio-noticias-carrusel .noticia-tarjeta:only-child { flex-basis: 100%; max-width: none; }
.acceso-rapido { position: relative; }
.insignia-campana {
    position: absolute; top: 8px; right: 10px; min-width: 20px; height: 20px; padding: 0 6px;
    border-radius: 999px; background: var(--error, #C62828); color: var(--blanco);
    font-size: 11px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center;
    box-shadow: 0 0 0 2px var(--blanco);
}

/* ---------- Bandeja de notificaciones ---------- */
.notif-cabecera { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.notif-cabecera .titulo-seccion { margin: 0; }
.notif-contador {
    background: var(--verde-acento); color: var(--blanco); border-radius: 999px; padding: 3px 10px;
    font-size: 12px; font-weight: 700;
}
.notif-contador.al-dia { background: var(--verde-suave); color: var(--verde-primario); }
.notif-cabecera .enlace { margin-left: auto; font-size: 13px; }
.notif-grupo { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--gris-deshabilitado);
    margin: 14px 0 8px; font-weight: 700; }
.notif-grupo:first-child { margin-top: 0; }
.notif-item {
    display: flex; gap: 12px; align-items: flex-start; background: var(--blanco); border: 1px solid var(--gris-borde);
    border-radius: 14px; padding: 12px 14px; margin-bottom: 10px; cursor: pointer;
}
.notif-item.nueva { border-color: var(--nt-color); background: linear-gradient(90deg, var(--nt-suave) 0%, var(--blanco) 45%); }
.notif-item-icono {
    width: 40px; height: 40px; border-radius: 12px; background: var(--nt-suave); display: inline-flex;
    align-items: center; justify-content: center; font-size: 20px; flex-shrink: 0;
}
.notif-item-cuerpo { flex: 1; min-width: 0; }
.notif-item-fila { display: flex; align-items: baseline; gap: 8px; }
.notif-item-titulo { font-size: 14px; font-weight: 700; color: var(--texto-oscuro); flex: 1; }
.notif-item-fecha { font-size: 11px; color: var(--gris-deshabilitado); white-space: nowrap; }
.notif-item-texto {
    font-size: 12.5px; color: var(--texto-secundario); margin-top: 2px; line-height: 1.4;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.notif-item-punto { width: 10px; height: 10px; border-radius: 50%; background: var(--nt-color); flex-shrink: 0; margin-top: 6px; }

/* ---------- Hoja de detalle ---------- */
body.sin-scroll { overflow: hidden; }
.hoja-noticia { position: fixed; inset: 0; z-index: 1200; }
.hoja-noticia.oculta { display: none; }
.hoja-noticia-fondo { position: absolute; inset: 0; background: rgba(8, 28, 49, 0.55); opacity: 0; transition: opacity 0.2s; }
.hoja-noticia.visible .hoja-noticia-fondo { opacity: 1; }
.hoja-noticia-panel {
    position: absolute; left: 0; right: 0; bottom: 0; max-height: 88vh; overflow-y: auto;
    background: var(--blanco); border-radius: 22px 22px 0 0; padding: 10px 20px 26px;
    padding-bottom: calc(26px + env(safe-area-inset-bottom));
    transform: translateY(100%); transition: transform 0.22s ease-out;
    border-top: 6px solid var(--nt-color, var(--verde-acento));
}
.hoja-noticia.visible .hoja-noticia-panel { transform: translateY(0); }
@media (min-width: 640px) {
    .hoja-noticia-panel { left: 50%; right: auto; width: 520px; transform: translate(-50%, 100%); border-radius: 22px 22px 0 0; }
    .hoja-noticia.visible .hoja-noticia-panel { transform: translate(-50%, 0); }
}
.hoja-noticia-asa { width: 40px; height: 4px; border-radius: 2px; background: var(--gris-borde); margin: 0 auto 12px; }
.hoja-noticia-cab { display: flex; align-items: center; gap: 8px; }
.hoja-noticia-icono {
    width: 44px; height: 44px; border-radius: 14px; background: var(--nt-suave); display: inline-flex;
    align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0;
}
.hoja-noticia-chips { display: flex; gap: 6px; flex-wrap: wrap; flex: 1; }
.hoja-noticia-cerrar {
    width: 34px; height: 34px; border-radius: 50%; border: none; background: var(--gris-boton);
    color: var(--texto-secundario); font-size: 14px; cursor: pointer; font-family: inherit;
}
.hoja-noticia-titulo { font-size: 20px; font-weight: 700; color: var(--texto-oscuro); line-height: 1.25; margin: 14px 0 4px; }
.hoja-noticia-fecha { font-size: 12px; color: var(--gris-deshabilitado); margin-bottom: 12px; }
.hoja-noticia-cuerpo {
    font-size: 15px; line-height: 1.55; color: var(--texto-oscuro); white-space: normal;
    border-top: 1px solid var(--gris-borde); padding-top: 12px;
}
.hoja-noticia-adjunto { margin-top: 14px; }
.hoja-noticia-adjunto img {
    display: block; width: 100%; max-height: 340px; object-fit: contain; background: var(--gris-boton);
    border-radius: 12px; border: 1px solid var(--gris-borde);
}
.hoja-noticia-adjunto-pie { font-size: 11px; color: var(--gris-deshabilitado); margin-top: 6px; text-align: center; }
.hoja-noticia-vence { margin-top: 12px; font-size: 13px; font-weight: 700; color: var(--nt-color); }
.hoja-noticia-acciones { display: flex; flex-direction: column; gap: 8px; margin-top: 18px; }
.hoja-noticia-acciones .boton { margin: 0; width: 100%; text-align: center; text-decoration: none; box-sizing: border-box; }
.hoja-noticia-panel.emergente .hoja-noticia-titulo { font-size: 22px; }
