    /* ── Alineado del texto (10 ago 2026): vuelve a la IZQUIERDA. Entre el
       23 jul y hoy estuvo JUSTIFICADO en toda la página (decisión de Fran);
       se revierte porque en pantalla, sin partición de palabras, el
       justificado abre "ríos" de espacio entre palabras — se veía sobre
       todo en las bajadas de la columna derecha. Para volver atrás:
       cambiar 'left' por 'justify' en esta línea. ── */
    #vista-prof #content { text-align: left; }

    /* Sin barra de navegación: el contenido recupera sus 38px de alto */
    #vista-prof #content { height: calc(100vh - 52px); }
    @media (max-width: 768px) {
      #vista-prof #content { height: auto; min-height: calc(100vh - 52px); }
    }

    /* Barra de fecha sin la palabra "Monitor" (la beta ES el monitor) */
    #vista-prof #hoy-monitor .hoy-congreso-fecha strong { display: none; }

    /* Sin la leyenda "Síntesis de los cinco módulos de ARIA" (jerga interna) */
    #vista-prof #hoy-monitor .hoy-congreso-fecha .hoy-detail:last-child { display: none; }

    /* Sin íconos "?" (tooltips): reemplazados por explicaciones visibles cortas */
    #vista-prof #tab-informe .eco-help { display: none; }

    /* Las explicaciones cortas, legibles pero secundarias */
    #vista-prof #tab-informe .mtab-read-sub { font-size: 13px; letter-spacing: 0; line-height: 1.5; }
    /* Los subtítulos de card arrancan SIEMPRE con mayúscula (pedido de Fran,
       13 jul) — se corrige acá para toda la página de una sola vez */
    #vista-prof .mtab-read-sub::first-letter, #vista-prof .bol-res-sub::first-letter { text-transform: uppercase; }

    /* Sin "Verificar en el tab →": en la beta no hay otras tabs adonde ir */
    #vista-prof #tab-informe .mtab-cruce-ir { display: none; }

    /* Ancho: en vez del tope de 1300px del original, margen fijo a los costados.
       32px por lado = más ancho que el original, con un poco más de aire que
       el borde a borde. Ajustable: subir/bajar el 32px. */
    #vista-prof .mtab-scroll { padding-left: 32px; padding-right: 32px; }
    #vista-prof #mon-hero, #vista-prof #mon-lectura, #vista-prof #mon-cruce, #vista-prof #mon-destacados, #vista-prof #mtab-numeros, #vista-prof #mon-abajo, #vista-prof #frentes-cont, #vista-prof #beta-nov-curadas {
      max-width: 1600px;
    }

    /* ── Navegación principal (14 jul): píldora centrada de 3 tabs con efecto
       lupa estilo dock (opción C de Fran). Sobrescribe los .nav-tab viejos. ── */
    /* ── Navegación integrada al header (Opción A aprobada 20 jul): los tabs
       viven DENTRO de la franja de marca, centrados sobre la línea naranja —
       dejan de flotar. El topbar pierde su borde y lo hereda la fila de tabs,
       así los dos bloques leen como una sola cabecera. Lupa dock se mantiene. */
    #vista-prof #topbar { position: relative; height: 58px; }
    #vista-prof #beta-nav {
      position: absolute; left: 50%; top: 50%;
      transform: translate(-50%, -50%);
      z-index: 60;
    }
    #vista-prof #beta-nav-pill {
      display: flex; gap: 4px;
      background: rgba(17,17,17,0.05);
      /* Borde definido (pedido de Fran 23 jul): la píldora tiene que tener
         presencia propia, en claro y en oscuro — no fundirse con el header */
      border: 1px solid rgba(17,17,17,0.22);
      box-shadow: none;
      border-radius: 10px;
      padding: 4px;
    }
    #vista-prof .beta-nav-tab {
      font-family: 'IBM Plex Mono', monospace;
      font-size: 12.5px; font-weight: 600; line-height: 19px;
      color: var(--ink3);
      padding: 7px 16px; border-radius: 7px;  /* 20→16 (11 sep): cuatro tabs entran sin tocar el botón del semanal */
      letter-spacing: 0.5px;
      cursor: pointer; user-select: none; white-space: nowrap;
      transition: transform .07s linear, color .18s, background .18s;
    }
    #vista-prof .beta-nav-tab:hover { color: var(--ink); }
    #vista-prof .beta-nav-tab.active { background: var(--accent); color: #fff; }
    /* Tinta de los inactivos más presente (dejaban sensación "transparente") */
    #vista-prof .beta-nav-tab { color: var(--ink2); }

    /* Alturas sin números mágicos (fix 17 jul): el body es columna flex —
       topbar y píldora miden lo suyo y #content recibe el resto exacto.
       (Antes #content restaba solo el topbar y el fondo quedaba inalcanzable.) */
    #vista-prof { display: flex; flex-direction: column; }
    #vista-prof #topbar { flex: none; }
    #vista-prof #content { flex: 1 1 auto; height: auto; min-height: 0; }

    /* Novedades (fix 17 jul): la barra de fecha vieja afuera (su información
       vive en la pastilla de arriba), y el tab pasa a ser UNA sola página que
       scrollea — curadas arriba con altura natural y el feed abajo, sin
       scrolls internos que se repartían la pantalla mitad y mitad. */
    #vista-prof #tab-novedades #hoy-novedades { display: none; }
    /* La barra de fecha del gabinete tampoco va (como monitor/boletín) */
    #vista-prof #hoy-ejecutivo { display: none; }
    /* Ídem la del Congreso reducido (25 jul) */
    #vista-prof #tab-congreso #hoy-congreso { display: none; }
    /* Filas de votación clickeables: al tocar se abre la ficha (25 jul) */
    #vista-prof .beta-cv-fila { cursor: pointer; border-radius: 6px; }
    #vista-prof .beta-cv-fila:hover { background: var(--bg2); }
    #vista-prof #tab-novedades.active { overflow-y: auto; }
    #vista-prof #tab-novedades #beta-nov-curadas { flex: none; overflow: visible; height: auto; }
    /* El feed viejo se retira (aprobado 17 jul): duplicaba las curadas. Queda
       oculto, no borrado — la lógica original sigue corriendo sin efectos. */
    #vista-prof #tab-novedades #nov-main { display: none; }

    /* Cierre de Novedades: Resumen del período + Para entender (mockup v3) */
    #vista-prof .beta-cierre-lbl {
      font-family: 'IBM Plex Mono', monospace;
      font-size: 9.5px; letter-spacing: 1.5px; font-weight: 700;
      color: #1249AD; margin: 14px 0 5px;
    }
    #vista-prof.noche .beta-cierre-lbl { color: #E0854A; }
    #vista-prof .beta-pe-caja { border-radius: 10px; padding: 10px 13px; }
    #vista-prof .beta-pe-tema { font-size: 12.5px; font-weight: 700; }
    #vista-prof .beta-pe-exp { font-size: 12px; line-height: 1.6; color: #55524B; margin-top: 3px; text-align: left; }
    #vista-prof.noche .beta-pe-caja { background: #2A2620 !important; }
    #vista-prof.noche .beta-pe-tema { color: var(--ink1) !important; }
    #vista-prof.noche .beta-pe-exp { color: var(--ink2); }
    /* (la versión nocturna de la píldora vive junto a los fixes del 23 jul) */

    /* ── Navegación beta: botón Volver + transición suave ── */
    #vista-prof #beta-volver {
      position: fixed; bottom: 22px; left: 22px; z-index: 500;
      display: none; align-items: center;
      font-family: 'IBM Plex Mono', monospace; font-size: 10px;
      letter-spacing: 1.5px; text-transform: uppercase;
      padding: 8px 14px; cursor: pointer;
      background: var(--accent);
      border: none; border-radius: 999px;
      color: #fff; font-weight: 700;
      box-shadow: 0 3px 14px rgba(26,95,214,0.35);
      transition: background .15s ease, transform .15s ease;
    }
    #vista-prof #beta-volver:hover { background: #c8561a; transform: translateY(-1px); }
    #vista-prof #beta-volver.visible { display: inline-flex; }

    /* Portada nueva: grilla de veredictos, 2 columnas → 1 en pantallas chicas */
    #vista-prof .beta-verdicts { grid-template-columns: 1fr 1fr; }
    @media (max-width: 768px) {
      #vista-prof .beta-verdicts { grid-template-columns: 1fr; }
    }

    /* Lectura del día: tipografía editorial — renglones más cortos y más aire */
    #vista-prof .beta-lectura { padding: 26px 32px 28px; }
    #vista-prof .beta-lectura .mon-lectura-lead {
      font-size: 18px; line-height: 1.6;
      margin: 8px 0 16px; padding-bottom: 16px;
    }
    #vista-prof .beta-lectura .feed-resumen-text {
      font-size: 15px; line-height: 1.75; margin-bottom: 4px;
    }
    #vista-prof .beta-lectura .mon-lectura-sub { margin-top: 24px; }
    #vista-prof .beta-lectura .mon-lectura-box { margin-top: 22px; border-radius: 10px; }
    #vista-prof .beta-lectura .mon-lectura-list li { line-height: 1.7; }

    /* Semáforo del Cruce en versión mini (pedido de Fran: menos protagonismo) */
    #vista-prof .beta-esc-mini .mtab-escala-barra { height: 7px !important; }
    #vista-prof .beta-esc-mini .mtab-escala-lbl { font-size: 8.5px !important; }

    /* El Cruce integrado en la columna derecha de Noticias */
    #vista-prof #mon-hero .beta-verdicts .mtab-cruce { margin-top: 0 !important; }

    /* Profundidad (11 jul): fondo crema profundo + cards blancas con sombra
       suave. El fondo y las cards ya no comparten color: la página gana
       relieve y el contenido se lee sobre blanco puro. */
    #vista-prof { --bg: #EAF0F8; }
    #vista-prof .mtab-card, #vista-prof .mtab-cruce, #vista-prof .mtab-dest-card {
      background: #FFFFFF !important;
      border: 1px solid rgba(17,17,17,0.05) !important;
      box-shadow: 0 1px 3px rgba(14,42,94,0.08), 0 4px 14px rgba(14,42,94,0.05);
    }

    /* Puerta al pie de las cards con tab propio (Gobierno/Boletín/Congreso):
       barra ancho completo, aprobada por Fran (opción C). Los márgenes
       negativos compensan el padding 16/18 de .mtab-card. */
    #vista-prof .beta-puerta {
      position: absolute;
      left: 0; right: 0; bottom: 0;
      margin: 0;
      background: var(--accent);
      padding: 12px 18px;
      text-align: center;
      font-size: 13px;
      font-weight: 600;
      color: #fff;
      cursor: pointer;
    }
    #vista-prof .beta-puerta:hover { background: #1249AD; }

    /* ── Card Economía de la portada (mockup v5 aprobado 14 jul) ──
       Cajas internas en el tinte de siempre (var --bg2 ya cambia solo de noche);
       la línea de inflación y las tendencias tienen versión nocturna polvorienta */
    #vista-prof .eco-box { background: var(--bg2); border-radius: 10px; }
    #vista-prof .eco-chip { font-family: 'IBM Plex Mono', monospace; font-size: 9.5px; letter-spacing: 0.4px; border-radius: 5px; padding: 3px 9px; white-space: nowrap; }
    #vista-prof .bo-ritmo-pill { font-family: 'IBM Plex Mono', monospace; font-size: 10px; letter-spacing: 0.6px; border-radius: 6px; padding: 6px 12px; white-space: nowrap; }
    /* Título del evento detectado en El ritmo (violeta índigo, versión noche) */
    #vista-prof .ritmo-ev-tit { color: #26215C; }
    #vista-prof.noche .ritmo-ev-tit { color: #A9A3E8; }
    #vista-prof .eco-spark polyline { stroke: #C9C2B2; }
    #vista-prof.noche .eco-spark polyline { stroke: #5A554A; }
    /* Drill-down de acciones por actor: la barrita de scroll SIEMPRE visible
       (pedido de Fran: que se note que se puede bajar), finita y discreta */
    #vista-prof .beta-gob-acc { scrollbar-width: thin; scrollbar-color: var(--border-s) transparent; }
    #vista-prof .beta-gob-acc::-webkit-scrollbar { width: 4px; }
    #vista-prof .beta-gob-acc::-webkit-scrollbar-thumb { background: var(--border-s); border-radius: 2px; }
    #vista-prof .beta-gob-acc::-webkit-scrollbar-track { background: transparent; }

    /* Estado del Gobierno en naranja editorial (destaca sin calificar) */
    #vista-prof .gob-estado { color: #1249AD; }
    #vista-prof.noche .gob-estado { color: #E0854A; }
    #vista-prof .eco-up { color: #0F6E56; }
    #vista-prof .eco-down { color: #854F0B; }
    #vista-prof .eco-mal { color: #A32D2D; }
    #vista-prof .eco-neutro { color: var(--ink3); }
    #vista-prof.noche .eco-up { color: #5DBF9C; }
    #vista-prof.noche .eco-down { color: #D9A75B; }
    #vista-prof.noche .eco-mal { color: #E08A7E; }

    /* ── Tab Boletín Oficial: idioma visual de la portada (aprobado 12 jul) ── */
    /* La barra de fecha del tab se retiró: su info vive en la pastilla contextual */
    #vista-prof #hoy-boletin { display: none; }
    /* Filtros como control segmentado (pedido de Fran, 13 jul): barra blanca
       redondeada, botones parejos que la llenan de punta a punta (simetría),
       redondeados como su contenedor y sin bordes grises borrosos. */
    #vista-prof .bol-filters {
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.05);
      border-bottom: 1px solid rgba(17,17,17,0.05);
      box-shadow: 0 1px 3px rgba(14,42,94,0.06);
      border-radius: 10px;
      padding: 6px;
      margin: 0 0 10px;
      gap: 5px;
      flex-wrap: wrap;
    }
    /* Tooltip propio del gráfico de actividad (Fran, 13 jul): cuadradito
       flotante con el desglose exacto por tipo al pasar el mouse */
    #vista-prof .beta-col-mes { position: relative; cursor: default; }
    #vista-prof .beta-col-mes .beta-tip {
      display: none;
      position: absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.08);
      box-shadow: 0 4px 16px rgba(14,42,94,0.18);
      border-radius: 8px;
      padding: 9px 12px;
      z-index: 30;
      white-space: nowrap;
      text-align: left;
      min-width: 150px;
    }
    #vista-prof .beta-col-mes:hover .beta-tip { display: block; }

    /* Puntos de la línea de tiempo de DNU (variante E, 13 jul) */
    #vista-prof .beta-dnu-dot {
      position: absolute;
      top: 9px;
      width: 10px;
      height: 10px;
      border-radius: 50%;
      background: #534AB7;   /* violeta (pedido de Fran, 14 jul): distinto del naranja de marca */
      cursor: pointer;
      transform: translateX(-50%);
    }
    #vista-prof .beta-dnu-dot::after {
      /* zona de clic un poco más generosa que el punto */
      content: ''; position: absolute; inset: -4px;
    }
    #vista-prof .beta-dnu-dot:hover { background: #3C3489; }
    #vista-prof .beta-dnu-dot.activo { box-shadow: 0 0 0 3px rgba(83,74,183,0.25); }
    #vista-prof .beta-dnu-dot .beta-tip {
      display: none;
      position: absolute;
      bottom: calc(100% + 8px);
      left: 50%;
      transform: translateX(-50%);
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.08);
      box-shadow: 0 4px 16px rgba(14,42,94,0.18);
      border-radius: 8px;
      padding: 9px 12px;
      z-index: 30;
      width: 240px;
      text-align: left;
      white-space: normal;
    }
    #vista-prof .beta-dnu-dot:hover .beta-tip { display: block; }

    /* Explicación del filtro elegido (qué es un decreto, una ley…) */
    #vista-prof .beta-bo-explic {
      width: 100%;
      font-size: 11.5px;
      line-height: 1.5;
      color: var(--ink2);
      text-align: center;
      padding: 2px 10px 2px;
    }

    /* Alcance de la lista (Fran, 13 jul): la botonera declara qué período
       muestra. Va DENTRO de la barra para que la alineación lo absorba. */
    #vista-prof .beta-bo-alcance {
      width: 100%;
      font-family: 'IBM Plex Mono', monospace;
      font-size: 9px;
      letter-spacing: 0.5px;
      color: var(--ink3);
      padding: 7px 0 2px;
      border-top: 1px solid var(--border);
      margin-top: 3px;
      text-align: center;
    }
    #vista-prof .bol-filter {
      flex: 1 1 0;
      text-align: center;
      border: none !important;
      border-radius: 6px;
      padding: 6px 6px;
      background: transparent;
      color: var(--ink2);
      font-size: 9px;
      font-weight: 600;
    }
    #vista-prof .bol-filter:hover { background: var(--bg2); color: var(--ink1); }
    #vista-prof .bol-filter.active { background: var(--accent); color: #fff; }
    #vista-prof .bol-filter-prio:not(.active) { background: rgba(26,95,214,0.07); color: var(--accent); }
    /* Divisor entre los dos criterios de filtrado (Fran, 13 jul):
       peso político (Prioritarios/Resto) | tipo de norma (Decretos…) */
    #vista-prof .bol-filtros-sep {
      width: 1px;
      align-self: stretch;
      background: rgba(17,17,17,0.14);
      margin: 2px 3px;
      flex-shrink: 0;
    }
    /* Simetría: a la izquierda la barra de filtros, a la derecha la barra del
       buscador — misma altura; las cards de ambas columnas arrancan juntas */
    #vista-prof #bol-right { padding-top: 0; }
    #vista-prof #beta-bo-buscar .beta-bo-buscar-bar {
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.05);
      box-shadow: 0 1px 3px rgba(14,42,94,0.06);
      border-radius: 10px;
      padding: 6px;
      margin: 0 0 10px;
    }
    #vista-prof #beta-bo-buscar input {
      width: 100%;
      box-sizing: border-box;
      font-family: 'IBM Plex Sans', sans-serif;
      font-size: 12.5px;
      padding: 5px 12px;
      border: none;
      background: transparent;
      color: var(--ink);
      outline: none;
    }
    /* Números grandes de las cajas de stats en SANS (opción 1 aprobada,
       13 jul): el cero de IBM Plex Mono lleva un puntito adentro que en
       cifras grandes ("2.005") ensucia la lectura. La mono sigue en los
       datos chicos (fechas, números de norma), donde no se nota. */
    #vista-prof .feed-resumen-stat-val { font-family: 'IBM Plex Sans', sans-serif !important; }

    /* Buscador v2 (29 ago, aprobado por Fran): panel de opciones con conteo
       (organismos + marcadores) en vez de caja de texto y desplegables;
       botonera de tipo abajo; cajita de emergencia para número/palabra */
    #vista-prof #beta-bo-buscar .beta-bo-panel {
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.05);
      box-shadow: 0 1px 3px rgba(14,42,94,0.06);
      border-radius: 10px;
      padding: 12px 14px 10px;
      margin: 0 0 8px;
    }
    #vista-prof .bo-grp {
      font-family: 'IBM Plex Mono', monospace;
      font-size: 9px;
      letter-spacing: 1px;
      color: var(--ink3);
      margin: 2px 0 7px;
    }
    #vista-prof .bo-grp span { letter-spacing: 0.3px; color: #A9A59B; }
    #vista-prof .bo-chips { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; }
    #vista-prof .bo-chip {
      border: 1px solid var(--border);
      border-radius: 999px;
      padding: 4px 10px;
      font-size: 11.5px;
      color: var(--ink2);
      background: #fff;
      display: inline-flex;
      align-items: center;
      gap: 6px;
      cursor: pointer;
      transition: all .12s;
      user-select: none;
    }
    #vista-prof .bo-chip i { font-style: normal; font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: var(--ink3); }
    #vista-prof .bo-chip:hover { border-color: var(--accent); color: var(--accent); }
    #vista-prof .bo-chip:hover i { color: var(--accent); }
    #vista-prof .bo-chip.on { border-color: var(--accent); background: var(--accent); color: #fff; }
    #vista-prof .bo-chip.on i { color: #FBE0CF; }
    #vista-prof .bo-chip.off { color: #B4B2A9; border-style: dashed; background: transparent; cursor: default; }
    #vista-prof .bo-chip.off i { color: #B4B2A9; }
    #vista-prof .bo-chip.off:hover { border-color: var(--border); color: #B4B2A9; }
    #vista-prof .bo-pie {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 12px;
      font-size: 11px;
      color: var(--ink3);
      border-top: 1px solid var(--border);
      padding-top: 8px;
    }
    #vista-prof .bo-emerg {
      font-family: 'IBM Plex Mono', monospace;
      font-size: 10px;
      letter-spacing: 0.5px;
      color: var(--ink3);
      cursor: pointer;
      white-space: nowrap;
    }
    #vista-prof .bo-emerg:hover { color: var(--accent); }
    #vista-prof #beta-bo-buscar .beta-bo-panel .beta-bo-buscar-bar { margin: 8px 0 0; background: var(--bg2); border-color: rgba(17,17,17,0.08); box-shadow: none; }
    #vista-prof #beta-bo-buscar .beta-bo-tipos {
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.05);
      box-shadow: 0 1px 3px rgba(14,42,94,0.06);
      border-radius: 10px;
      padding: 6px;
      margin: 0 0 10px;
      display: flex;
      align-items: center;
      gap: 6px;
    }
    #vista-prof .bo-seg { display: flex; gap: 5px; flex: 1; }
    #vista-prof .bo-seg span {
      flex: 1 1 0;
      text-align: center;
      border-radius: 6px;
      padding: 6px 6px;
      color: var(--ink2);
      font-family: 'IBM Plex Mono', monospace;
      font-size: 9px;
      font-weight: 600;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      cursor: pointer;
      user-select: none;
    }
    #vista-prof .bo-seg span:not(.on):hover { background: var(--bg2); color: var(--ink1); }
    #vista-prof .bo-seg span.on { background: var(--accent); color: #fff; }
    #vista-prof .bbf-buscar {
      border: 1px solid var(--accent);
      background: var(--accent);
      color: #fff;
      border-radius: 7px;
      padding: 7px 16px;
      font-family: 'IBM Plex Mono', monospace;
      font-size: 10px;
      letter-spacing: 1px;
      cursor: pointer;
      align-self: end;
    }
    #vista-prof .bbf-buscar:hover { background: #1249AD; border-color: #1249AD; }
    #vista-prof .bbf-limpiar {
      border: 1px solid #B4B2A9;
      background: #fff;
      border-radius: 7px;
      padding: 7px 12px;
      font-family: 'IBM Plex Mono', monospace;
      font-size: 10px;
      letter-spacing: 1px;
      color: var(--ink2);
      cursor: pointer;
      align-self: end;
    }
    #vista-prof .bbf-limpiar:hover { border-color: var(--accent); color: var(--accent); }

    #vista-prof #beta-bo-buscar .beta-bo-res {
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.05);
      box-shadow: 0 1px 3px rgba(14,42,94,0.08), 0 4px 14px rgba(14,42,94,0.05);
      border-radius: 12px;
      padding: 12px 18px;
      margin: 0 0 14px;
    }
    /* Alineación óptica en el detalle (Fran, 13 jul): la caja del chip cuelga
       hacia afuera para que su TEXTO alinee con el texto del título */
    #vista-prof #bol-detalle .bol-d-head .bol-tipo-chip { margin-left: -11px; }

    /* El detalle de un acto vive en una card con marco, no suelto (Fran, 13 jul) */
    #vista-prof #bol-detalle {
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.05);
      border-radius: 12px;
      box-shadow: 0 1px 3px rgba(14,42,94,0.08), 0 4px 14px rgba(14,42,94,0.05);
      padding: 18px 20px;
      position: relative;
    }

    /* El "× Volver" del detalle de un acto (Fran, 13 jul): mismo lenguaje que
       los chips interactivos — blanco, borde gris firme, tinta; naranja al hover */
    #vista-prof #bol-detalle .detalle-close {
      background: #FFFFFF !important;
      border: 1px solid #B4B2A9 !important;
      color: var(--ink2) !important;
      border-radius: 8px !important;
      padding: 6px 14px !important;
      font-weight: 700 !important;
      font-size: 10px !important;
      letter-spacing: 1px !important;
    }
    #vista-prof #bol-detalle .detalle-close:hover {
      border-color: var(--accent) !important;
      color: var(--accent) !important;
      background: #FFFFFF !important;
    }

    /* La barra de scroll de la lista arranca EXACTAMENTE donde arranca la
       primera card (pedido de Fran, 13 jul), y es finita como las demás */
    #vista-prof #bol-list .bol-item:first-child { margin-top: 0; }
    #vista-prof .panel-scroll::-webkit-scrollbar { width: 4px; }
    #vista-prof .panel-scroll::-webkit-scrollbar-track { background: transparent; }
    #vista-prof .panel-scroll::-webkit-scrollbar-thumb { background: rgba(17,17,17,0.15); border-radius: 4px; }
    #vista-prof .panel-scroll::-webkit-scrollbar-thumb:hover { background: rgba(17,17,17,0.3); }
    #vista-prof .panel-scroll { scrollbar-width: thin; scrollbar-color: rgba(17,17,17,0.15) transparent; }
    /* Panel Resumen: card blanca con sombra, sin banda negra */
    #vista-prof #bol-empty .bol-res-card {
      background: #FFFFFF !important;
      border: 1px solid rgba(17,17,17,0.05) !important;
      box-shadow: 0 1px 3px rgba(14,42,94,0.08), 0 4px 14px rgba(14,42,94,0.05);
      border-radius: 12px;
      overflow: hidden;
    }
    #vista-prof #bol-empty .bol-res-header {
      background: transparent !important;
      color: var(--ink1) !important;
      padding: 18px 20px 0 !important;
      display: block !important;
    }
    #vista-prof #bol-empty .bol-res-badge { display: none; }
    #vista-prof #bol-empty .bol-res-titulo {
      font-family: 'IBM Plex Sans', sans-serif !important;
      font-size: 16.5px !important;
      font-weight: 700 !important;
      letter-spacing: -0.2px !important;
      text-transform: none !important;
      color: var(--ink1) !important;
      position: relative;
      padding-left: 14px;
      display: inline-block;
    }
    #vista-prof #bol-empty .bol-res-titulo::before {
      content: ''; position: absolute; left: 0; top: 3px;
      width: 4px; height: 15px; background: var(--accent); border-radius: 1px;
    }
    #vista-prof #bol-empty .bol-res-sub { display: block; font-size: 13px; color: var(--ink3); margin-top: 3px; }
    #vista-prof #bol-empty .beta-bol-tres { margin-top: 14px; }
    /* Rótulos de sección: de naranja gritón a mono gris discreta, con separador */
    #vista-prof #bol-empty .mon-lectura-sub {
      font-family: 'IBM Plex Mono', monospace;
      font-size: 10px; letter-spacing: 1px; font-weight: 400;
      color: var(--ink3);
      border-top: 1px solid var(--border);
      padding-top: 12px; margin: 16px 0 8px;
    }
    /* Ítems con flechita naranja (firma de la portada) en vez de guión */
    #vista-prof #bol-empty .bol-res-lista li { padding-left: 20px; }
    #vista-prof #bol-empty .bol-res-lista li::before { content: '↳'; color: var(--accent); background: none; width: auto; height: auto; top: 0; }
    /* Columna izquierda: actos en cards blancas con sombra suave */
    #vista-prof #bol-left { background: transparent; border: none; }
    #vista-prof #bol-left .bol-item {
      background: #FFFFFF;
      border: 1px solid rgba(17,17,17,0.05);
      box-shadow: 0 1px 3px rgba(14,42,94,0.06);
    }
    /* Chips unificados: tipo = etiqueta neutra gris (el color queda para estados) */
    #vista-prof #tab-boletin .bol-tipo-chip, #vista-prof #bol-detalle .bol-tipo-chip {
      background: #F2F6FB !important;
      color: #444441 !important;
      border: 1px solid transparent !important;
      font-size: 10px !important;
      border-radius: 5px !important;
      padding: 3px 10px !important;
    }
    /* Excepción con significado (26 jul, pedido de Fran): LEY = índigo de
       Congreso, DECRETO = ámbar de Gobierno — la misma paleta de TEMAS CLAVE.
       Resoluciones y disposiciones siguen grises (rutina administrativa). */
    #vista-prof #tab-boletin .bol-tipo-chip.tipo-ley, #vista-prof #bol-detalle .bol-tipo-chip.tipo-ley {
      background: #EEEDFE !important;
      color: #26215C !important;
    }
    #vista-prof #tab-boletin .bol-tipo-chip.tipo-decreto, #vista-prof #bol-detalle .bol-tipo-chip.tipo-decreto {
      background: #FAEEDA !important;
      color: #854F0B !important;
    }
    /* Relevancia: intensidad en la familia del naranja, SIN puntito (Fran, 13 jul) */
    #vista-prof #tab-boletin .bol-rel-chip, #vista-prof #bol-detalle .bol-rel-chip {
      border-radius: 5px !important;
      font-size: 9px !important;
      padding: 3px 9px !important;
    }
    #vista-prof .bol-rel-chip.rel-alta  { background: var(--accent) !important; color: #fff !important; }
    #vista-prof .bol-rel-chip.rel-media { background: #FAC775 !important; color: #633806 !important; }
    #vista-prof .bol-rel-chip.rel-baja  { background: #FAEEDA !important; color: #854F0B !important; }

    /* La barra de fecha de la portada duplicaba la pastilla ACTUALIZADO
       de arriba a la derecha (pedido de Fran, 12 jul): afuera. */
    #vista-prof #hoy-monitor { display: none; }

    /* ══ MODO NOCHE (híbrido carbón cálido + sobriedad Bloomberg, aprobado
       14 jul) ══ Se activa con el botón ☾/☀ del header y se recuerda.
       Regla de colores: tonos polvorientos, nunca neón. Rampa del semáforo
       completa (opción A). El logo ARIA se enciende en naranja de marca. */
    #vista-prof #beta-tema {
      margin-left: 10px;
      background: transparent;
      border: 1px solid var(--border-s);
      border-radius: 8px;
      color: var(--ink2);
      width: 32px;
      height: 28px;
      padding: 0;
      display: flex;
      align-items: center;
      justify-content: center;
      cursor: pointer;
      flex-shrink: 0;
    }
    #vista-prof #beta-tema svg { display: block; }
    #vista-prof #beta-tema:hover { border-color: var(--accent); color: var(--accent); }

    #vista-prof.noche {
      --bg: #191714;
      --bg2: #26221D;
      --panel: #211E1A;
      --ink: #E3DFD7;
      --ink1: #E9E5DC;
      --ink2: #AFA99E;
      --ink3: #8A857C;
      --border: rgba(255,255,255,0.09);
      --border-s: #B5AFA4;
    }
    /* Logo con más presencia (Fran, 14 jul): trazo grueso REAL (el 700 no
       venía cargado en la página: había que pedírselo a la fuente) */
    #vista-prof .logo-name { font-weight: 700 !important; color: #000000 !important; font-size: 19px !important; }
    #vista-prof.noche .logo-name { color: var(--accent) !important; }
    /* El logo es la puerta a la portada (Fran, 29 ago): clic → Monitor */
    #vista-prof .logo-wrap { cursor: pointer; user-select: none; }
    #vista-prof .logo-wrap:hover .logo-name { color: var(--accent) !important; }
    #vista-prof.noche .logo-wrap:hover .logo-name { opacity: 0.8; }
    #vista-prof.noche .mtab-card, #vista-prof.noche .mtab-cruce, #vista-prof.noche .mtab-dest-card {
      background: #211E1A !important;
      border: 1px solid rgba(255,255,255,0.07) !important;
      box-shadow: 0 2px 10px rgba(0,0,0,0.25);
    }
    #vista-prof.noche #bol-empty .bol-res-card,
    #vista-prof.noche #bol-detalle,
    #vista-prof.noche #beta-bo-buscar .beta-bo-res {
      background: #211E1A !important;
      border-color: rgba(255,255,255,0.07) !important;
      box-shadow: 0 2px 10px rgba(0,0,0,0.25);
    }
    #vista-prof.noche .bol-filters,
    #vista-prof.noche #beta-bo-buscar .beta-bo-buscar-bar,
    #vista-prof.noche #beta-bo-buscar .beta-bo-panel,
    #vista-prof.noche #beta-bo-buscar .beta-bo-tipos,
    #vista-prof.noche #bol-left .bol-item {
      background: #211E1A !important;
      border-color: rgba(255,255,255,0.07) !important;
    }
    #vista-prof.noche .bo-chip { background: transparent; border-color: rgba(255,255,255,0.14); }
    #vista-prof.noche .bo-chip.on { background: var(--accent); border-color: var(--accent); }
    #vista-prof.noche .bo-chip.off { border-color: rgba(255,255,255,0.08); color: #6b675f; }
    #vista-prof.noche .bo-chip.off i { color: #6b675f; }
    #vista-prof.noche .bo-seg span:not(.on):hover { background: #2A2620; }
    #vista-prof.noche #beta-bo-buscar .beta-bo-panel .beta-bo-buscar-bar { background: #191714 !important; }
    #vista-prof.noche .bbf-limpiar { background: transparent; }
    #vista-prof.noche .beta-col-mes .beta-tip, #vista-prof.noche .beta-dnu-dot .beta-tip {
      background: #262220;
      border-color: rgba(255,255,255,0.1);
      box-shadow: 0 4px 16px rgba(0,0,0,0.5);
    }
    #vista-prof.noche .detalle-close { background: #211E1A !important; }
    /* Elementos con colores pastel fijos (chips, escalas, barras): se apagan
       en bloque hacia tonos polvorientos — nada de neón */
    /* Chips de noche v2 (22 jul, caso "quedan como transparentes"): atenuar
       un chip claro daba gris sobre gris. Ahora se INVIERTE el esquema —
       fondo oscuro del MISMO matiz, texto claro — con invert + hue-rotate,
       que conserva el color de cada chip sin tocarlos uno por uno. */
    #vista-prof.noche .chip,
    #vista-prof.noche .bol-tipo-chip,
    #vista-prof.noche .bol-rel-chip,
    #vista-prof.noche .eco-chip,
    #vista-prof.noche .bo-ritmo-pill,
    #vista-prof.noche .noct-chip {
      /* brightness al final (fix 22 jul): sin él, los chips NEUTROS (grises,
         tipo DECRETO/LEY) invertían a casi negro y se fundían con la card */
      filter: invert(0.88) hue-rotate(180deg) saturate(0.85) brightness(1.4);
    }
    /* Las escalas del semáforo conservan el atenuado aprobado (criterio 14 jul) */
    #vista-prof.noche .mtab-escala span,
    #vista-prof.noche .beta-esc-mini span {
      filter: brightness(0.72) saturate(0.8);
    }

    /* ── Tintas de texto oscuras de día → versión clara de noche (22 jul,
       caso "la letra naranja no se ve"): las palabras del índice (Frágil,
       Sólido, Tenso), el azul marino de los números del BO y demás colores
       inline pensados para fondo crema. Se EXCLUYEN los chips: ellos ya se
       resuelven con la inversión y esto los rompería. ── */
    #vista-prof.noche .bol-item.is-prioritario .bi-titulo { color: #E8C49A; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#854F0B"] { color: #D9A75B !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#085041"] { color: #5DBF9C !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#0F6E56"] { color: #5DBF9C !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#993C1D"] { color: #E08A66 !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#A32D2D"] { color: #E08A7E !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#042C53"] { color: #7FB3E8 !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#185FA5"] { color: #7FB3E8 !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#26215C"] { color: #A9A3E8 !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#1249AD"] { color: #E0966F !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#4B1528"] { color: #E3A8C4 !important; }
    /* Kickers del brief (28 jul): los 3 colores de categoría que faltaban */
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#0C447C"] { color: #7FB3E8 !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#412402"] { color: #D9A75B !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#72243E"] { color: #E3A8C4 !important; }
    #vista-prof.noche :not(.chip):not(.eco-chip):not(.noct-chip):not(.bol-tipo-chip):not(.bol-rel-chip):not(.bo-ritmo-pill)[style*="color:#444441"] { color: var(--ink2) !important; }
    /* Panel "Qué mirar" de la Lectura del día: coral claro de día → tinte
       óxido oscuro de noche (el fondo claro dejaba el texto claro invisible) */
    #vista-prof.noche .beta-quemirar { background: #2E211B !important; }
    /* Separador del control segmentado del BO: de noche era invisible */
    #vista-prof.noche .bol-filtros-sep { background: rgba(255,255,255,0.16); }
    /* Tabs de la píldora de noche: tinta clara y borde marcado (23 jul) */
    #vista-prof.noche .beta-nav-tab { color: var(--ink1); }
    #vista-prof.noche .beta-nav-tab:hover { color: #FFF; }
    #vista-prof.noche #beta-nav-pill { background: rgba(255,255,255,0.08); border-color: rgba(255,255,255,0.26); }
    /* En tabs profundos la píldora se oculta (decisión 23 jul): modo foco —
       se entra por puertas y se sale con Volver; además se encimaba con la
       pastilla contextual del Boletín. */
    #vista-prof #beta-nav.beta-nav-oculta { display: none; }

    /* Header responsive (bug 10 ago, captura de Fran: al achicar la ventana
       la pastilla INFORME SEMANAL se encimaba con el tab Frentes, porque la
       navegación está clavada al centro ABSOLUTO del header y el grupo de la
       derecha fluye por su cuenta). Debajo de 1300px los tabs entran al
       flujo del header, centrados en el espacio libre: los grupos se
       reparten el ancho y no pueden pisarse. */
    @media (max-width: 1300px) {
      /* order: el nav viene último en el HTML; acá se lo trae junto al logo
         para que la fila lea logo · tabs · pastilla · estado · luna */
      #vista-prof .logo-wrap { order: -2; }
      #vista-prof #beta-nav { order: -1; position: static; transform: none; margin: 0 auto; }
    }
    /* Más angosto todavía: el header pasa a dos filas (marca y controles
       arriba, tabs centrados abajo) en vez de apretar todo en una. */
    @media (max-width: 1020px) {
      #vista-prof #topbar { height: auto; min-height: 58px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; row-gap: 2px; }
      #vista-prof #beta-nav { order: 10; flex-basis: 100%; display: flex; justify-content: center; margin: 4px 0 0; }
    }
    #vista-prof.noche img, #vista-prof.noche svg { filter: brightness(0.9); }

    /* Sistema unificado de chips (aprobado 12 jul): una sola forma.
       Categoría = tinte suave · Estado = tinte + punto semáforo ·
       Interactivo = blanco con borde (y flechita en el contexto). */
    #vista-prof .chip {
      font-family: 'IBM Plex Mono', monospace;
      font-size: 10px;
      letter-spacing: 0.5px;
      border-radius: 5px;
      padding: 3px 10px;
      white-space: nowrap;
      display: inline-block;
      box-sizing: border-box;
      border: 1px solid transparent;
    }
    #vista-prof .chip-dot {
      display: inline-block;
      width: 6px; height: 6px;
      border-radius: 50%;
      margin-right: 6px;
      vertical-align: 1px;
    }
    #vista-prof .chip-int {
      background: #fff !important;
      border: 1px solid #B4B2A9 !important;
      color: var(--ink2) !important;
      cursor: pointer;
    }
    #vista-prof .chip-int:hover { border-color: var(--accent) !important; color: var(--accent) !important; }
    /* Variante coloreada e interactiva (áreas del BO, 26 jul): mantiene el
       color de familia como fondo y solo enciende el borde al pasar. */
    #vista-prof .chip-area-int { cursor: pointer; }
    #vista-prof .chip-area-int:hover { border-color: var(--accent) !important; }

    /* Página del Informe Semanal — layout en BLOQUE liso (9 ago): el flex
       heredado de .tab-pane.active dejaba un colchón vacío arriba; en bloque
       el contenido arranca pegado a la barra, sin discusión. */
    #vista-prof #tab-semanal.active { display: block !important; overflow: hidden; }
    #vista-prof #tab-semanal .mtab-scroll { height: 100%; overflow-y: auto; box-sizing: border-box; }
    #vista-prof #beta-semanal-cont { max-width: 1300px; margin: 0 auto; width: 100%; }
    #vista-prof #tab-semanal .mtab-card { margin-top: 10px !important; }

    /* LA LECTURA DE ARIA — panel llamativo naranja (9 ago) + modo noche */
    #vista-prof.noche .beta-lectura-aria { background: #33261B !important; }
    #vista-prof.noche .beta-lectura-aria div { color: #EDE3D8 !important; }
    #vista-prof.noche .beta-lectura-aria div:first-child { color: #E0854A !important; }

    /* Pastilla INFORME SEMANAL en el header (aprobada 4 ago, sin emoji) */
    #vista-prof #beta-semanal-btn {
      /* margin-left:auto = arranca el grupo derecho: después de los tabs
         (centrados) viene INFORME SEMANAL, luego el reloj y la luna */
      margin-left: auto;
      margin-right: 10px;
      font-family: 'IBM Plex Mono', monospace;
      font-size: 10px;
      letter-spacing: 0.8px;
      font-weight: 700;
      color: #1249AD;
      background: #E2ECFB;
      border: 1px solid #1249AD;
      border-radius: 8px;
      padding: 7px 12px;
      cursor: pointer;
      white-space: nowrap;
      align-self: center;
    }
    #vista-prof #beta-semanal-btn:hover { background: #F5DDD2; }
    #vista-prof.noche #beta-semanal-btn { color: #E0966F; background: #382520; border-color: #E0966F; }
    /* El empuje a la derecha lo tiene SOLO la pastilla: el reloj pierde su
       margin-left:auto del CSS base (si no, el espacio se reparte entre los
       dos autos y la pastilla queda flotando bajo los tabs — bug 4 ago). */
    #vista-prof #status-pill { margin-left: 10px !important; }

    /* POR QUÉ IMPORTA del brief — opción B (27 jul, la D resultó "un poco
       fuerte"): caja coral de la familia del Qué mirar, sin bordes. */
    #vista-prof .beta-pq { font-size: 12.5px; line-height: 1.6; color: #4A2418; margin-top: 9px; background: #E2ECFB; border-radius: 8px; padding: 9px 14px; }
    #vista-prof .beta-pq strong { color: #2D1207; }
    #vista-prof .beta-pq .pq-lbl { font-family: 'IBM Plex Mono', monospace; font-size: 8.5px; letter-spacing: 1px; color: #1249AD; font-weight: 700; }
    #vista-prof.noche .beta-pq { background: #382520; }
    #vista-prof.noche .beta-pq, #vista-prof.noche .beta-pq strong { color: #E8D8D0; }
    #vista-prof.noche .beta-pq .pq-lbl { color: #E0966F; }

    /* Franja de números de la card Congreso (opción D aprobada 26 jul):
       banda lavanda de CONGRESO con números índigo, entre cámaras y cronología. */
    #vista-prof .beta-cong-franja {
      background: #EEEDFE;
      border-radius: 9px;
      margin-top: 10px;
      padding: 10px 14px 9px;
      display: flex;
      justify-content: center;
      align-items: baseline;
      column-gap: 30px;
      row-gap: 4px;
      flex-wrap: wrap;
    }
    #vista-prof .beta-cong-franja b { font-size: 18px; font-weight: 700; color: #26215C; }
    #vista-prof .beta-cong-franja .franja-lbl { font-family: 'IBM Plex Mono', monospace; font-size: 9px; letter-spacing: 0.8px; color: #55519A; }
    #vista-prof.noche .beta-cong-franja { background: #262244; }
    #vista-prof.noche .beta-cong-franja b { color: #A9A3E8; }
    #vista-prof.noche .beta-cong-franja .franja-lbl { color: #8D88C9; }

    /* Barrita de scroll propia de ARIA (mockup aprobado por Fran, 10 ago):
       carril + pulgar dibujados por la página, no por el navegador — así se
       ve SIEMPRE, igual en todos lados, y vive en su propio espacio a la
       derecha del texto (no lo tapa). La arma window.betaBarritas() en
       monitor_tab.js sobre cada .beta-scroll-visible que desborda.
       (Intento anterior con ::-webkit-scrollbar descartado: en Mac depende
       del navegador y del sistema, y no se veía.) */
    #vista-prof .beta-scroll-visible { scrollbar-width: none; }
    #vista-prof .beta-scroll-visible::-webkit-scrollbar { display: none; }
    #vista-prof .beta-carril { position: absolute; right: 10px; width: 6px; background: var(--bg2); border-radius: 3px; display: none; }
    #vista-prof .beta-carril .beta-pulgar { position: absolute; left: 0; width: 6px; background: #C9C2AD; border-radius: 3px; min-height: 36px; }
    #vista-prof .beta-carril .beta-pulgar:hover { background: #B3AB93; }
    #vista-prof.noche .beta-carril { background: #2E2B27; }
    #vista-prof.noche .beta-carril .beta-pulgar { background: #4A4640; }
    #vista-prof.noche .beta-carril .beta-pulgar:hover { background: #5C574F; }

    /* Pies de card: texto normal legible, números en negrita (adiós mono caps) */
    #vista-prof .beta-pie {
      border-top: 1px solid var(--border);
      margin-top: 12px;
      padding-top: 10px;
      font-family: 'IBM Plex Sans', sans-serif;
      font-size: 12px;
      letter-spacing: 0;
      color: var(--ink3);
    }
    #vista-prof .beta-pie b { color: var(--ink2); font-weight: 600; }
    /* La card con puerta: ancla absoluta (la barra toca los bordes reales,
       sin depender del padding) + recorte con la curva de la card. */
    #vista-prof .mtab-card:has(.beta-puerta) {
      position: relative;
      overflow: hidden;
      padding-bottom: 58px !important;
      border: none !important;
    }

    /* Rótulos de sección (Noticias / Los poderes / Análisis): más presentes.
       El nombre en tinta firme; la descripción sigue discreta en gris. */
    #vista-prof .beta-seccion { font-size: 11.5px; letter-spacing: 2px; color: var(--ink1); font-weight: 700; }
    #vista-prof .beta-seccion span { color: var(--ink3); font-weight: 400; letter-spacing: 0.4px; }

    /* Títulos de card reales (11 jul): sans semibold en minúsculas.
       La mono mayúscula queda para micro-etiquetas de datos (chips, escalas). */
    #vista-prof .mtab-card-lbl, #vista-prof .mtab-cruce-lbl {
      font-family: 'IBM Plex Sans', sans-serif;
      font-size: 16.5px;
      letter-spacing: -0.2px;
      text-transform: none;
      font-weight: 700;
      color: var(--ink1);
    }
    #vista-prof .mtab-card-lbl { padding-left: 14px; }
    #vista-prof .mtab-card-lbl::before { width: 4px; height: 15px; top: 4px; }
    #vista-prof .mtab-cruce-lbl { position: relative; padding-left: 14px; }
    #vista-prof .mtab-cruce-lbl::before {
      content: ''; position: absolute; left: 0; top: 4px;
      width: 4px; height: 15px; background: var(--accent); border-radius: 1px;
    }

    /* Barras de scroll internas: finitas y discretas */
    #vista-prof .mtab-card div::-webkit-scrollbar { width: 4px; }
    #vista-prof .mtab-card div::-webkit-scrollbar-track { background: transparent; }
    #vista-prof .mtab-card div::-webkit-scrollbar-thumb { background: rgba(17,17,17,0.15); border-radius: 4px; }
    #vista-prof .mtab-card div::-webkit-scrollbar-thumb:hover { background: rgba(17,17,17,0.3); }
    #vista-prof .mtab-card div { scrollbar-width: thin; scrollbar-color: rgba(17,17,17,0.15) transparent; }

    /* Cámaras en espejo. La banda tiene marco arriba y abajo, y la línea
       central va ABSOLUTA de borde a borde (top:0 → bottom:0): cero espacio. */
    #vista-prof .beta-camaras {
      position: relative;
      display: grid;
      grid-template-columns: 168px 1fr 1fr 168px;
      gap: 16px; align-items: center;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border);
      padding: 14px 0;
    }
    #vista-prof .beta-cam-linea {
      position: absolute; left: 50%; top: 0; bottom: 0;
      width: 1px; background: var(--border);
    }
    @media (max-width: 1080px) {
      #vista-prof .beta-camaras { grid-template-columns: 168px 1fr; }
      #vista-prof .beta-cam-linea { display: none; }
    }

    /* Filas clicables (frentes del Estructural): hover + flecha que avisa */
    #vista-prof .beta-fila-click { border-radius: 8px; margin: 0 -8px; padding-left: 8px !important; padding-right: 8px !important; transition: background .12s ease; }
    #vista-prof .beta-fila-click:hover { background: var(--bg2); }
    #vista-prof .beta-fila-click:hover .beta-fila-ir { color: var(--accent); }

    /* Separación UNIFORME entre todos los bloques de la portada (14px) */
    #vista-prof #mon-hero .mtab-card, #vista-prof #mon-hero .mtab-cruce { margin-top: 14px !important; }
    #vista-prof #mon-hero .beta-verdicts { margin-top: 14px; }
    #vista-prof #mon-hero .beta-verdicts .mtab-card { margin-top: 0 !important; }
    #vista-prof #mon-lectura .mtab-card { margin-top: 14px !important; }

    /* Cambio de vista: fundido breve con leve asentamiento (sin deslizar) */
    #vista-prof .tab-pane.active { animation: beta-view-in 260ms cubic-bezier(0.25, 0.1, 0.25, 1); }
    @keyframes beta-view-in {
      from { opacity: 0; transform: translateY(10px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    @media (prefers-reduced-motion: reduce) {
      #vista-prof .tab-pane.active { animation: none; }
    }