/* Cáscara del patrón de Competencia; cuerpos acotados por .c-buybox. Referencia: golden-final-1001 f84ffd7f.
   Tokens, datos, permisos y enlaces de Fusión. Sin fuentes ni dependencias nuevas. */
.c-cascara {
  --c-rosa-suave: color-mix(in srgb, var(--color-acento) 7%, var(--color-superficie));
  display: grid;
  grid-template-columns: 82px 214px minmax(0, 1fr);
  gap: 0;
  max-width: none;
  min-height: 100dvh;
  padding: 0;
  font-family: var(--font-display), system-ui, sans-serif;
  font-size: 13px;
  line-height: 1.5;
}
.c-cascara:has(> details.c-panel:not([open])) { grid-template-columns: 82px 0 minmax(0, 1fr); }
.c-cascara > nav[aria-label="Secciones"] {
  position: sticky;
  top: 0;
  z-index: 45;
  display: flex;
  width: 82px;
  height: 100dvh;
  padding: 14px 4px;
  background: var(--color-superficie);
  border-right: 1px solid var(--color-borde);
}
.c-cascara > nav > a:first-child {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--color-acento);
  color: var(--color-superficie);
  margin-bottom: 14px;
}
.c-cascara .c-riel-items { display: flex; flex-direction: column; gap: 3px; width: 100%; }
.c-riel-indicacion { display: none; }
.c-copiloto-cabecera { border: 1px solid var(--color-borde); border-radius: 7px; padding: 6px 9px; background: var(--color-superficie); }
body:has(.c-copiloto-cabecera) [data-copiloto-estado] > button { display: none; }
.c-cascara .c-riel-items > a { width: 100%; min-height: 51px; gap: 5px; font-size: 10px; padding: 7px 1px; letter-spacing: -.02em; }
.c-cascara .c-riel-items > a[aria-current] { background: var(--c-rosa-suave); color: var(--color-acento); }
.c-panel { position: sticky; top: 0; height: 100dvh; background: var(--color-fondo); min-width: 0; }
.c-panel > aside {
  display: flex;
  width: 100%;
  height: 100%;
  border: 0;
  border-right: 1px solid var(--color-borde);
  border-radius: 0;
  background: transparent;
  padding: 20px 12px;
  overflow-y: auto;
}
.c-panel > summary { position: fixed; z-index: 46; left: 90px; bottom: 20px; display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid var(--color-borde); border-radius: 8px; background: var(--color-superficie); font: 22px/1 system-ui; cursor: pointer; list-style: none; }
.c-panel > summary::-webkit-details-marker, .c-avatar > summary::-webkit-details-marker { display: none; }
.c-panel[open] .c-mostrar, .c-panel:not([open]) .c-ocultar { display: none; }
.c-panel:not([open]) > aside { display: none; }
.c-panel [data-submenu] > div:first-child { padding: 0 8px 8px; }
.c-panel [data-submenu] > div:first-child p:first-child { font-size: 14px; }
.c-panel [data-submenu] > div:first-child p:last-child { margin-top: 4px; line-height: 1.5; }
.c-panel nav > a { min-height: 36px; font-size: 12px; padding: 8px 10px; flex-wrap: wrap; gap: 4px; }
.c-panel nav > a > span:first-child { white-space: normal; overflow: visible; text-overflow: clip; }
.c-panel nav > a[aria-current] { background: var(--c-rosa-suave); color: var(--color-acento); box-shadow: inset 3px 0 var(--color-acento); }
.c-panel [data-mas-primero] { margin-top: 14px; }
.c-panel [data-mas-primero]::before { color: var(--color-tenue); letter-spacing: .05em; font-size: 10px; }
.c-avatar { position: fixed; z-index: 60; left: 23px; bottom: 18px; }
.c-avatar > summary { display: grid; place-items: center; width: 36px; height: 36px; background: var(--color-tinta); color: var(--color-superficie); border: 3px solid var(--color-borde); border-radius: 50%; font-size: 11px; font-weight: 600; cursor: pointer; list-style: none; }
.c-avatar > div { position: absolute; bottom: 0; left: 49px; width: 225px; padding: 16px; border: 1px solid var(--color-borde); border-radius: 12px; background: var(--color-superficie); color: var(--color-tinta); box-shadow: 0 8px 32px color-mix(in srgb, var(--color-tinta) 14%, transparent); display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.c-avatar strong, .c-avatar form { width: 100%; }
.c-avatar strong { padding-bottom: 9px; border-bottom: 1px solid var(--color-borde); }
.c-avatar span { flex: 1; color: var(--color-tenue); }
.c-cascara > main { padding: 20px 24px 36px; gap: 12px; }
.c-topbar { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 54px; padding: 8px 24px; margin: -20px -24px 6px; border-bottom: 1px solid var(--color-borde); background: var(--color-superficie); font-size: 12px; }
.c-topbar > div { display: flex; gap: 8px; align-items: center; }
.c-topbar-sub { color: var(--color-tenue); }
.c-topbar a, .c-topbar button { font-family: inherit; font-size: 12px; }
.c-cascara > main > header { gap: 2px; }
.c-cascara > main > header h1 { font-size: 23px; line-height: 1.3; letter-spacing: -.04em; font-weight: 650; }
.c-cascara > main > header p { font-size: 12px; margin-top: 2px; max-width: none; }
.c-cascara > main > details[data-guia] { margin: 0; border: 0; background: transparent; font-size: 12px; }
.c-cascara > main > details[data-guia] > summary { padding: 0; color: var(--color-tenue); }
.c-buybox { gap: 14px; }
.c-contexto-nota { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 11px; color: var(--color-tenue); }
.c-contexto-nota a { margin-left: auto; color: var(--color-acento); }
.c-buybox .n-contexto { gap: 8px; margin-top: -7px; }
.c-buybox .n-contexto .n-frescura { flex-basis: 100%; font-size: 11px; }
.c-buybox .n-contexto .n-escritura { margin-left: auto; font-size: 11px; }
.c-buybox .n-contexto .n-frescura { order: 2; }
.c-buybox .n-cifras { overflow: hidden; }
.c-buybox .n-cifra { padding: 14px 16px; }
.c-buybox .n-cifra-rotulo { font-size: 12px; gap: 6px; }
.c-buybox .n-cifra-valor { font-size: 31px; line-height: 1.1; }
.c-buybox .n-cifra-valor[data-falta] { font-size: 23px; }
.c-buybox .n-cifra[data-activa] { box-shadow: inset 0 -3px var(--color-acento); border-radius: 0; background: var(--c-rosa-suave); }
.c-buybox .n-cifra-pie, .c-buybox .n-cifra-motivo { font-size: 11px; }
.c-buybox .n-cifras-debajo { padding-top: 0; padding-bottom: 8px; }
.c-buybox .n-apilada-barra { height: 7px; }
.c-buybox .n-leyenda { gap: 4px 13px; font-size: 11px; }
.c-buybox .n-cifras-nota { font-size: 11px; padding-bottom: 10px; }
.c-buybox .n-cifras .n-como-tabla { font-size: 11px; }
.c-lectura-rapida { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 14px; margin-top: 10px; padding: 9px 12px; border-left: 3px solid var(--color-aviso); background: color-mix(in srgb, var(--color-aviso) 5%, var(--color-superficie)); border-radius: 0 5px 5px 0; }
.c-lectura-rapida p { color: var(--color-tinta); }
.c-lectura-rapida a { font-size: 11px; color: var(--color-acento); white-space: nowrap; }
.c-buybox .c-limite { display: inline; font-size: 11px; }
.c-metodo { display: inline; margin-left: 8px; color: var(--color-tenue); font-size: 11px; }
.c-metodo > summary { display: inline; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.c-metodo > summary::after { content: ' ▾'; }
.c-metodo[open] { display: block; margin: 8px 0 0; padding: 10px 14px; border: 1px solid var(--color-borde); border-radius: 8px; background: var(--color-superficie); }
.c-metodo p { margin-top: 6px; }
.c-buybox .n-grilla { gap: 14px; }
.c-buybox .n-tarjeta-cabeza { padding: 13px 16px; gap: 7px 12px; }
.c-buybox .n-tarjeta-cabeza h2 { font-size: 13px; }
.c-buybox .n-histograma svg { max-height: 155px; }
.c-buybox .n-paso { gap: 9px; padding: 9px 0; }
.c-buybox .n-paso > span { display: grid; place-items: center; min-width: 21px; height: 21px; border-radius: 6px; font-size: 11px; color: var(--color-aviso); background: color-mix(in srgb, var(--color-aviso) 10%, var(--color-superficie)); }
.c-buybox .n-paso b { font-weight: 600; font-size: 12px; }
.c-buybox .n-paso p { font-size: 11px; line-height: 1.45; }
.c-buybox .n-paso a { white-space: nowrap; font-size: 11px; }
.c-buybox #lista { scroll-margin-top: 16px; }
.c-buybox #lista .n-tarjeta-cabeza { border-bottom: 1px solid var(--color-borde); margin-bottom: 12px; }
.c-buybox #lista .n-segmentado { margin-left: auto; font-size: 11px; }
.c-buybox .n-tabla th { background: var(--color-fondo); font-size: 11px; line-height: 1.4; }
.c-buybox .n-tabla th a { color: var(--color-tenue); }
.c-buybox .n-tabla th[aria-sort] a { color: var(--color-acento); }
.c-buybox .n-tabla td { padding: 12px; }
.c-buybox .n-tabla tbody tr[data-fila]:hover { background: var(--c-rosa-suave); }
.c-buybox .n-tabla td:first-child { width: 25%; min-width: 180px; max-width: 290px; }
.c-buybox .n-tabla td:last-child { width: 24%; }
.c-buybox .n-tabla .n-der { white-space: nowrap; }
.c-buybox .n-celda-falta { display: inline-block; font-size: 11px; white-space: normal; line-height: 1.5; }
.c-buybox .n-celda-falta a { text-decoration: underline; text-underline-offset: 2px; }
.c-buybox .n-fila-titulo { font-weight: 550; font-size: 12px; line-height: 1.45; }
.c-buybox .n-fila-meta { font-size: 10px; }
.c-buybox .n-lectura { font-size: 11px; }
.c-buybox .n-escalera { margin-top: 8px; }
.c-buybox .n-como-tabla { font-size: 11px; }
.c-buybox .n-como-tabla dl { font-size: 12px; text-align: left; }
.c-buybox .n-como-tabla dt { min-width: 0; }
.c-buybox .n-como-tabla dd { flex-shrink: 0; white-space: nowrap; text-align: right; }
.c-buybox .n-tabla td:nth-child(3) { font-weight: 600; }
.c-buybox .n-tabla td:nth-child(3) small { font-weight: 400; }
.c-buybox .n-buscar input { font-family: inherit; }
.c-buybox .n-filtros.c-filtros-inline[open] { flex: 1 0 100%; order: 3; }
.c-buybox .c-filtros-inline > summary { width: -moz-fit-content; width: fit-content; }
.c-buybox .c-filtros-inline[open] > summary { position: static; background: var(--c-rosa-suave); color: var(--color-acento); }
.c-buybox .c-filtros-inline .n-filtros-panel { position: static; width: 100%; max-height: none; overflow: visible; box-shadow: none; margin-top: 9px; padding: 16px; background: var(--color-fondo); }
.c-buybox .c-filtros-inline form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.c-buybox .c-filtros-inline fieldset { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.c-buybox .c-filtros-inline legend { margin-bottom: 8px; }
.c-buybox .c-filtros-inline label { min-width: 0; gap: 5px; }
.c-buybox .c-filtros-inline .n-mas-filtros { grid-column: 1 / -1; }
.c-buybox .c-filtros-inline .n-mas-filtros[open] { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 14px; }
.c-buybox .c-filtros-inline .n-mas-filtros > summary { grid-column: 1 / -1; }
.c-buybox .n-filtros-acciones { grid-column: 1 / -1; border-top: 1px solid var(--color-borde); padding-top: 12px; }
.c-filtros-titulo { font-weight: 600; margin: 0 0 12px; }
.c-buybox .n-menu-tabla > div { left: auto; right: 0; }
.c-vacio { text-align: center; padding: 30px 16px; }
.c-vacio strong { display: block; color: var(--color-tinta); }
.c-vacio p { margin: 6px 0 12px; color: var(--color-tenue); }
.c-cascara :is(a, button, input, select, summary):focus-visible { outline: 2px solid var(--color-acento); outline-offset: 3px; }
.c-saltar { position: fixed; top: -80px; left: 12px; z-index: 1100; padding: 10px 16px; border-radius: 8px; background: var(--color-superficie); color: var(--color-acento); }
.c-saltar:focus { top: 12px; }
/* La invitación conserva ambas acciones y la guía superior; ya no tapa filas. */
body:has(.c-cascara) > [data-guia="invitacion"] { position: static; max-width: none; margin: 0 24px 18px 320px; box-shadow: none; font-family: var(--font-display), system-ui, sans-serif; }
body.con-invitacion:has(.c-cascara) { padding-bottom: 0; }
@media (min-width: 1600px) {
  .c-cascara > main { padding-right: 36px; padding-left: 36px; }
  .c-topbar { margin-left: -36px; margin-right: -36px; padding-left: 36px; padding-right: 36px; }
  .c-buybox .n-grilla { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); }
}
@media (min-width: 768px) and (max-width: 1100px) {
  .c-cascara { grid-template-columns: 82px 174px minmax(0, 1fr); }
  .c-cascara > main { padding: 16px; }
  .c-topbar { margin: -16px -16px 2px; padding: 8px 16px; }
  .c-buybox .n-cifras-fila { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .c-buybox .n-cifra { border-bottom: 1px solid var(--color-borde); }
  .c-buybox .n-grilla { grid-template-columns: minmax(0, 1fr); }
  .c-buybox .n-tabla:not(.n-tabla--chica) { min-width: 980px; }
  .c-buybox .c-filtros-inline form, .c-buybox .c-filtros-inline fieldset { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-topbar-sub { display: none; }
}
@media (max-width: 767px) {
  body:has(.c-cascara) [data-copiloto-estado] { bottom: 105px; }
  .c-cascara, .c-cascara:has(> details.c-panel:not([open])) { display: block; }
  .c-cascara > main { padding: 12px 14px 112px; gap: 10px; }
  .c-panel { display: none; }
  .c-topbar { margin: -12px -14px 0; padding: 8px 14px; min-height: 49px; }
  .c-topbar-sub { display: none; }
  .c-topbar > div { gap: 5px; }
  .c-topbar a { padding: 6px 9px; }
  .c-cascara > main > header h1 { font-size: 20px; line-height: 1.3; }
  .c-cascara > main > details:not([data-guia]) { margin: 0; border-radius: 7px; }
  .c-cascara > main > details:not([data-guia]) > summary { padding: 8px 10px; }
  .c-cascara > nav[aria-label="Secciones"] { position: fixed; top: auto; bottom: 0; left: 0; width: 100%; height: 94px; flex-direction: column; gap: 2px; padding: 4px 8px 5px 57px; border-top: 1px solid var(--color-borde); border-right: 0; }
  .c-cascara > nav > a:first-child { display: none; }
  .c-riel-indicacion { display: block; width: 100%; font-size: 10px; color: var(--color-tenue); }
  .c-cascara .c-riel-items { flex-direction: row; overflow-x: auto; width: 100%; scrollbar-width: thin; gap: 3px; border: 1px solid var(--color-borde); border-radius: 7px; }
  .c-cascara .c-riel-items > a { flex: 0 0 86px; min-height: 56px; font-size: 10px; }
  .c-avatar { position: fixed; left: 10px; bottom: 18px; }
  .c-avatar > div { bottom: 48px; left: 0; }
  .c-buybox .n-contexto .n-escritura { width: auto; margin-left: 0; }
  .c-contexto-nota { font-size: 10px; gap: 2px 9px; }
  .c-contexto-nota a { margin-left: 0; }
  .c-buybox .n-cifras-fila { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-buybox .n-cifra { padding: 12px 14px; }
  .c-buybox .n-cifra:last-child { grid-column: 1 / -1; }
  .c-buybox .n-cifra:last-child > a { display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; }
  .c-buybox .n-cifra:last-child .n-cifra-valor { grid-column: 2; grid-row: 1 / 3; align-self: center; }
  .c-buybox .n-cifra:last-child .n-cifra-pie { grid-column: 1 / -1; }
  .c-buybox .n-cifra-valor { font-size: 28px; }
  .c-buybox .n-grilla { grid-template-columns: minmax(0, 1fr); }
  .c-buybox .n-cifras-nota { text-align: left; }
  .c-buybox .n-histograma svg { max-height: 170px; }
  .c-buybox #lista .n-segmentado { margin-left: 0; }
  .c-buybox .n-tabla:not(.n-tabla--chica) td { width: auto; min-width: 0; max-width: none; padding: 5px 0; }
  .c-buybox .n-tabla:not(.n-tabla--chica) tbody tr[data-fila] { padding: 15px; margin: 0 0 8px; background: var(--color-superficie); }
  .c-buybox .n-tabla:not(.n-tabla--chica) td[data-label]::before { font-size: 11px; }
  .c-buybox .n-tabla:not(.n-tabla--chica) td:first-child { margin-bottom: 10px; }
  .c-buybox .n-tabla .n-der { white-space: normal; }
  .c-buybox .n-fila-titulo { font-size: 13px; }
  .c-buybox .n-fila-meta { font-size: 11px; }
  .c-buybox .n-escalera { max-width: 190px; }
  .c-buybox .n-lectura { font-size: 12px; }
  .c-buybox .n-tabla td[data-label="Lectura"] { display: block; text-align: left; }
  .c-buybox .n-tabla td[data-label="Lectura"]::before { display: block; margin-bottom: 6px; }
  .c-buybox .c-filtros-inline form, .c-buybox .c-filtros-inline fieldset, .c-buybox .c-filtros-inline .n-mas-filtros[open] { display: flex; flex-direction: column; gap: 12px; }
  .c-buybox .c-filtros-inline .n-filtros-panel { padding: 14px; }
  .c-buybox :is(button, select, input[type=search]), .c-buybox .n-filtros > summary { min-height: 40px; font-size: 13px; }
  .c-buybox .n-paginacion { gap: 12px; font-size: 12px; }
  .c-buybox .n-paginacion a { padding: 6px 0; }
  body:has(.c-cascara) > [data-guia="invitacion"] { margin: -60px 14px 90px; }
}
@media print {
  .c-cascara { display: block; }
  .c-cascara > nav, .c-panel, .c-avatar, .c-topbar, .c-contexto-nota { display: none !important; }
  .c-cascara > main { padding: 0; }
}

/* Rollout: avatar completo desplazable, rótulos enteros y utilidades accesibles. */
.c-avatar > div { max-height: calc(100dvh - 110px); overflow-y: auto; }
.c-avatar nav { width: 100%; display: grid; gap: 3px; }
.c-avatar nav a { min-height: 36px; }
.c-riel-items a[data-mas-primero] { margin-top: 0 !important; }
.c-riel-items a[data-mas-primero]::before { content: none; }
.c-riel-items { min-height: 0; overflow-y: auto; padding-bottom: 64px; }
@media (max-width: 767px) { .c-cascara .c-riel-items { padding-bottom: 0; } }

/* Opción B, composición de Nacho. Sólo marco y espacio del proveedor existente. */
.c-cascara { --analista-ancho: 0px; width: calc(100% - var(--analista-ancho)); margin-right: var(--analista-ancho); }
.c-cascara[data-analista-disponible] { --analista-ancho: 28px; }
.c-cascara[data-agente="lateral"] { --analista-ancho: 270px; }
.c-cascara[data-agente="ancho"] { --analista-ancho: 46vw; }
.c-cascara[data-menu="iconos"] { grid-template-columns: 64px minmax(0, 1fr); }
.c-cascara[data-menu="oculto"] { grid-template-columns: minmax(0, 1fr); }
.c-cascara[data-menu="iconos"] > nav[aria-label="Secciones"] { width: 64px; }
.c-cascara[data-menu="iconos"] .c-riel-etiqueta { display: none; }
.c-cascara[data-menu="iconos"] .c-panel, .c-cascara[data-menu="oculto"] .c-panel,
.c-cascara[data-menu="oculto"] > nav[aria-label="Secciones"], .c-cascara[data-menu="oculto"] > .c-avatar { display: none; }
.c-cascara[data-menu="iconos"] .c-avatar { left: 14px; }
.c-cascara .c-panel > aside { display: flex; }
.c-cascara .c-panel [hidden] { display: none !important; }
.c-controles-menu { display: flex; align-items: center; gap: 6px; flex: 0 0 auto; }
.c-controles-menu :is(button, select) { border: 1px solid var(--color-borde); border-radius: 6px; padding: 6px; background: var(--color-superficie); min-height: 34px; }
.c-cerrar-menu { display: none; }
.c-topbar { flex-wrap: wrap; }
/* La miga necesita un ancho mínimo: con base 0 se aplastaba contra el buscador y los controles y su texto se les montaba
   encima (Estrategias a 1366 px, NO-GO 25/10 P3). Con base propia, si no entra, baja a su renglón (la barra ya hace wrap). */
.c-topbar > span { flex: 1 1 16rem; min-width: 0; overflow-wrap: anywhere; }
.c-cascara .c-riel-items { padding-bottom: 64px; }
.c-pestana-analista { position: fixed; top: 120px; right: 0; width: 28px; padding: 12px 4px; writing-mode: vertical-rl; border: 1px solid var(--color-borde); border-radius: 8px 0 0 8px; background: var(--color-superficie); color: var(--color-acento); z-index: 50; }
.c-cascara:not([data-agente="cerrado"]) .c-pestana-analista { display: none; }
.c-analista-controles { position: fixed; right: 0; top: 0; width: var(--analista-ancho); height: 48px; display: flex; align-items: center; gap: 8px; padding: 8px 12px; background: var(--color-superficie); border-left: 1px solid var(--color-borde); border-bottom: 1px solid var(--color-borde); z-index: 810; }
.c-analista-controles[hidden] { display: none; }
.c-analista-controles strong { flex: 1; }
.c-analista-controles button { min-width: 32px; min-height: 32px; border: 1px solid var(--color-borde); border-radius: 5px; }
body:has(.c-cascara) [data-copiloto-estado] > button { display: none; }
body:has(.c-cascara[data-agente="cerrado"]) [data-copiloto-estado] { display: none; }
body:has(.c-cascara:not([data-agente="cerrado"])) [data-copiloto-estado] { top: 48px; right: 0; bottom: 0; width: 270px; border-left: 1px solid var(--color-borde); background: var(--color-superficie); }
body:has(.c-cascara[data-agente="ancho"]) [data-copiloto-estado] { width: 46vw; }
body:has(.c-cascara) [data-copiloto-estado] > section { width: 100%; max-width: none; height: 100%; max-height: none; border: 0; border-radius: 0; box-shadow: none; }
body:has(.c-cascara) [data-copiloto-estado] > section > ol { flex: 1; }
body:has(.c-cascara[data-menu="oculto"]) > [data-guia="invitacion"] { margin-left: 24px; }
body:has(.c-cascara[data-menu="iconos"]) > [data-guia="invitacion"] { margin-left: 88px; }
body:has(.c-cascara[data-agente="lateral"]) > [data-guia="invitacion"] { margin-right: 294px; }
body:has(.c-cascara[data-agente="ancho"]) > [data-guia="invitacion"] { margin-right: calc(46vw + 24px); }
@media (max-width: 1100px) and (min-width: 768px) {
  .c-cascara:not([data-agente="cerrado"])[data-menu="completo"] { grid-template-columns: 64px 150px minmax(0, 1fr); }
  .c-cascara:not([data-agente="cerrado"]) > nav[aria-label="Secciones"] { width: 64px; }
}
@media (max-width: 767px) {
  .c-cascara[data-agente] { --analista-ancho: 0px; display: block; }
  .c-cascara[data-agente][data-analista-disponible] { --analista-ancho: 28px; }
  /* La pestaña queda en su franja, por encima de los 94px del menú móvil. */
  .c-pestana-analista { top: auto; bottom: calc(106px + env(safe-area-inset-bottom, 0px)); }
  .c-cascara .c-elegir-menu { display: none; }
  .c-cascara .c-topbar { gap: 5px; }
  /* El contexto reserva su fila: el texto no invade los controles. */
  .c-cascara .c-topbar > span { flex: 0 0 100%; order: 1; overflow-wrap: anywhere; }
  .c-cascara .c-topbar-sub { display: inline; }
  .c-cascara .c-riel-items { padding-bottom: 0; }
  /* UI v4: la campana «Notificaciones» va a la derecha, fuera del flujo. Apilada debajo de los grupos (flex en columna dentro de 94 px) dejaba la fila
     de grupos en ~28 px y se cortaban sus íconos (M-01, QA-3 24/10). No se toca el display de la barra: lo usan las reglas que la ocultan. */
  .c-cascara > nav[aria-label="Secciones"]:has(> [data-notificaciones-v4]) { padding-right: 76px; }
  .c-cascara > nav[aria-label="Secciones"] > [data-notificaciones-v4] { position: absolute; top: 50%; right: 6px; transform: translateY(-50%); }
  .c-cascara[data-cajon="menu"] { width: 100%; }
  .c-cascara[data-cajon="menu"] > nav[aria-label="Secciones"] { display: flex; z-index: 905; }
  .c-cascara[data-cajon="menu"] .c-panel { display: flex; flex-direction: column; position: fixed; inset: 0 0 94px; width: 100%; height: auto; background: var(--color-fondo); z-index: 900; }
  .c-cascara[data-cajon="menu"] .c-panel > aside { overflow-y: auto; flex: 1; padding: 16px; }
  .c-cascara[data-cajon="menu"] .c-cerrar-menu { display: block; align-self: end; padding: 12px 18px; font-weight: 600; }
  .c-cascara[data-cajon="menu"] .c-avatar { z-index: 910; }
  .c-cascara .c-analista-controles { width: 100vw; }
  body:has(.c-cascara:not([data-agente="cerrado"])) [data-copiloto-estado] { width: 100vw; bottom: 0; }
  .c-cascara:not([data-agente="cerrado"]) > nav[aria-label="Secciones"], .c-cascara:not([data-agente="cerrado"]) .c-avatar { display: none; }
  body:has(.c-cascara[data-menu]) > [data-guia="invitacion"] { margin: -60px 42px 94px 14px; }
}
@media print {
  .c-cascara[data-menu][data-agente] { display: block; width: 100%; margin: 0; }
  .c-analista, .c-controles-menu, .c-cerrar-menu, .c-cascara > nav, .c-cascara .c-panel, .c-cascara > .c-avatar { display: none !important; }
}

/* Escritorio (25/10, QA de la demo local): la campana «Notificaciones» queda al pie del riel y el avatar es fijo en ese mismo lugar: se pisaban
   (el rótulo se leía «Not·TD·ones»). El pie del riel reserva ahora el lugar del avatar (36 px + 18 px de borde) y la lista de áreas, que ya desplaza,
   deja de reservarlo por su cuenta. Con pantallas bajas (720–768 px) la lista desplaza: barra fina para que se note que hay más áreas abajo.
   La miga conserva el ancho base de la UX vigente; si no entra, puede ajustar sin invadir los controles. */
@media (min-width: 768px) {
  .c-cascara.c-cascara > nav[aria-label="Secciones"] { padding-bottom: 62px; }
  .c-cascara.c-cascara .c-riel-items { padding-bottom: 0; scrollbar-width: thin; gap: 2px; }
  /* 13 áreas de 46 px entran enteras desde los 850 px de alto; con 51 px «Ajustes» quedaba a medias bajo la campana. */
  .c-cascara.c-cascara .c-riel-items > a { min-height: 46px; padding-block: 4px; }
  .c-cascara.c-cascara .c-topbar > span { flex: 1 1 16rem; min-width: 0; white-space: normal; overflow-wrap: anywhere; }
}

/* El cartel «Cada pantalla tiene una guía corta…» (QA de la demo local, 25/10): en la Cáscara suelta iba `static` al pie de la página, pero bajo la Mesa
   el marco ocupa toda la pantalla y el cartel caía ARRIBA a la izquierda, tapando el título y los botones de cada pantalla (y la barra de arriba en el celular).
   Con la Mesa flota abajo a la izquierda, junto al riel; en el celular, sobre la barra de abajo. Los !important pisan el `static` y los márgenes de la Cáscara. */
body:has(.mesa):has(.c-cascara) > [data-guia="invitacion"] { position: fixed !important; top: auto !important; right: auto !important; left: 96px !important; bottom: 16px !important; margin: 0 !important; max-width: 340px !important; z-index: 900; box-shadow: 0 8px 32px color-mix(in srgb, var(--color-tinta) 18%, transparent) !important; }
@media (max-width: 767px) {
  body:has(.mesa):has(.c-cascara) > [data-guia="invitacion"] { left: 12px !important; right: 12px !important; max-width: none !important; bottom: calc(106px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* Controles fijos fuera del reparto de filas; el avatar no repite Configuración. */
.c-analista { display: contents; }
.c-avatar nav { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.c-cascara[data-cajon="menu"] .c-analista { display: none; }

/* El espacio real del cuerpo cambia al ensanchar el Analista, aunque el viewport no cambie. */
.c-cascara:not([data-agente="cerrado"]) > main { container-type: inline-size; container-name: cuerpo-tablero; }
.c-panel nav > a[aria-current] { font-weight: 600; }
@container cuerpo-tablero (max-width: 700px) {
  .c-buybox .n-cifras-fila { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .c-buybox .n-cifra:last-child:nth-child(odd) { grid-column: 1 / -1; }
  .c-buybox .n-grilla { grid-template-columns: minmax(0, 1fr); }
  .c-buybox .c-filtros-inline form, .c-buybox .c-filtros-inline fieldset, .c-buybox .c-filtros-inline .n-mas-filtros[open] { grid-template-columns: minmax(0, 1fr); }
}
@container cuerpo-tablero (max-width: 420px) {
  .c-buybox .n-cifras-fila { grid-template-columns: minmax(0, 1fr); }
  .c-buybox .n-cifra:last-child > a { display: flex; }
  .c-buybox .n-cifra-rotulo, .c-buybox .n-cifra-valor { overflow-wrap: anywhere; }
}

/* MENÚ NUEVO (MENU_NUEVO=1): submenús con encabezado (V1), «Avanzado» atenuado (V3), aire entre submenús (V6). Sólo reordena: tipografía y colores son los de siempre. */
.c-submenus { gap: 10px; }
.c-submenu { display: flex; flex-direction: column; gap: 2px; }
.c-submenu + .c-submenu { border-top: 1px solid var(--color-borde); padding-top: 8px; }
.c-sub-resumen { display: flex; align-items: center; cursor: pointer; list-style: none; }
.c-sub-resumen::-webkit-details-marker { display: none; }
.c-sub-resumen::after { content: '▸'; margin-left: auto; padding-right: 10px; font-size: 11px; color: var(--color-tenue); }
.c-submenu[open] > .c-sub-resumen::after { content: '▾'; }
.c-sub-resumen:focus-visible { outline: 2px solid var(--color-acento); border-radius: 4px; }
.c-sub-encabezado { margin: 2px 10px 2px; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--color-tenue); }
.c-avanzado a { opacity: .75; }
.c-avanzado a::after { content: 'Avanzado'; margin-left: auto; font-size: 10px; line-height: 1.4; border: 1px solid var(--color-borde); border-radius: 999px; padding: 0 6px; color: var(--color-tenue); }

.c-topbar > .c-buscador { display: contents; }
.c-buscar-abrir, .c-buscador-cajon { display: inline-flex; align-items: center; gap: 8px; border: 1px solid var(--color-borde); border-radius: 7px; padding: 7px 10px; background: var(--color-superficie); color: var(--color-tenue); min-height: 36px; }
.c-buscar-abrir svg, .c-buscador-campo svg, .c-buscador-resultado > svg { flex: 0 0 18px; width: 18px; height: 18px; }
.c-buscar-abrir kbd { font: inherit; font-size: 10px; border: 1px solid var(--color-borde); border-radius: 3px; padding: 1px 4px; }
.c-buscador-panel { order: 10; flex: 0 0 100%; min-width: 0; background: var(--color-superficie); border: 1px solid var(--color-borde); border-radius: 12px; padding: 12px; }
.c-buscador-campo { display: flex; align-items: center; gap: 8px; border-bottom: 1px solid var(--color-borde); padding-bottom: 10px; }
.c-buscador-campo input { flex: 1; min-width: 0; width: 100%; padding: 8px; background: var(--color-fondo); border: 1px solid var(--color-borde); border-radius: 6px; color: var(--color-tinta); }
.c-buscador-campo button { padding: 7px; border: 1px solid var(--color-borde); border-radius: 5px; }
.c-buscador-estado, .c-buscador-ayuda { color: var(--color-tenue); font-size: 12px; margin: 9px 4px; }
.c-buscador-resultado { display: flex; align-items: center; gap: 12px; padding: 10px; border-radius: 7px; color: var(--color-tinta); border: 1px solid transparent; }
.c-buscador-resultado[aria-selected="true"] { background: var(--color-destacado-suave); border-color: var(--color-borde); }
.c-buscador-resultado > span:first-of-type { flex: 1; min-width: 0; }
.c-buscador-resultado strong, .c-buscador-pregunta, .c-buscador-resultado small { display: block; }
.c-buscador-resultado strong { font-weight: 600; font-size: 14px; }
.c-buscador-pregunta { font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--color-tenue); }
.c-buscador-resultado small { font-size: 11px; color: var(--color-tenue); }
.c-buscador-cajon { display: none; }
@media (max-width: 767px) {
  .c-buscar-abrir { width: 36px; justify-content: center; padding: 8px; }
  .c-buscar-abrir > span, .c-buscar-abrir kbd { display: none; }
  .c-buscador-panel { padding: 8px; }
  .c-buscador-resultado { padding: 8px 5px; gap: 8px; }
  .c-cascara[data-cajon="menu"] .c-buscador-cajon { display: flex; margin: 0 16px 10px; }
}
@media print { .c-buscador, .c-buscar-abrir, .c-buscador-panel, .c-buscador-cajon { display: none !important; } }

/* Contrato UI: un solo sidebar y una sola superficie vertical de contenido.
   Se acota al nuevo frame; los estilos legacy de otras superficies no cambian. */
.c-cascara[data-unificada] {
  --c-sidebar-ancho: 280px;
  display: grid;
  grid-template-columns: var(--c-sidebar-ancho) minmax(0, 1fr);
  grid-template-rows: minmax(56px, auto) minmax(0, 1fr);
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}
/* El agente es un drawer transitorio: el contenido no pierde ancho ni scroll. */
.c-cascara[data-unificada][data-agente] { --analista-ancho: 0px; width: 100%; margin-right: 0; }
.c-cascara[data-unificada][data-menu][data-agente] { grid-template-columns: var(--c-sidebar-ancho) minmax(0, 1fr); }
.c-cascara[data-unificada][data-menu="iconos"][data-agente] { grid-template-columns: 82px minmax(0, 1fr); }
.c-cascara[data-unificada] .c-analista { display: none; }
.c-cascara[data-unificada][data-menu="iconos"] { grid-template-columns: 82px minmax(0, 1fr); }
.c-cascara[data-unificada][data-menu="iconos"] > .c-panel { display: block; }
.c-cascara[data-unificada] > .c-cabecera-global {
  grid-column: 1 / -1; grid-row: 1;
  display: flex; align-items: center; gap: 12px;
  min-height: 56px; margin: 0; padding: 6px 12px;
  background: var(--color-superficie); border-bottom: 1px solid var(--color-borde);
  z-index: 20;
}
.c-cascara[data-unificada] .c-hamburguesa { min-width: 44px; min-height: 44px; font-size: 22px; }
.c-cascara[data-unificada] .c-elegir-menu { display: none; }
.c-cascara[data-unificada] .c-marca-global { color: var(--color-tinta); font-weight: 700; text-decoration: none; flex: 0 1 auto; }
.c-cascara[data-unificada] .c-ubicacion-global { flex: 1 1 12rem; min-width: 0; overflow-wrap: anywhere; }
.c-cascara[data-unificada] .c-migas { min-width: 0; font-size: 13px; line-height: 1.4; }
.c-cascara[data-unificada] .c-migas ol { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: 0; padding: 0; list-style: none; }
.c-cascara[data-unificada] .c-migas li { display: inline-flex; align-items: center; min-width: 0; }
.c-cascara[data-unificada] .c-migas a { display: inline-flex; align-items: center; min-height: 32px; padding: 4px 6px; border-radius: 4px; color: var(--color-tenue); text-decoration: none; }
.c-cascara[data-unificada] .c-migas a:hover { color: var(--color-tinta); background: var(--color-destacado-suave); text-decoration: underline; }
.c-cascara[data-unificada] .c-migas a:focus-visible { outline: 2px solid var(--color-acento); outline-offset: 2px; }
.c-cascara[data-unificada] .c-migas [aria-current="page"] { padding: 4px 6px; font-weight: 600; color: var(--color-tinta); }
.c-cascara[data-unificada] .c-migas-separador { margin-inline: 3px; color: var(--color-tenue); }
.c-cascara[data-unificada] .c-utilidades-globales { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin-left: auto; }
.c-cascara[data-unificada] [data-notificaciones-v4] { min-width: 44px; min-height: 44px; width: auto; padding: 4px 8px; }
.c-cascara[data-unificada] [data-notificaciones-v4] > span:last-child { display: none; }
.c-cascara[data-unificada] .c-cuenta-global { position: relative; }
.c-cascara[data-unificada] .c-control-icono {
  position: relative; display: inline-flex; align-items: center; justify-content: center;
  flex: 0 0 auto; width: 44px; min-width: 44px; height: 44px; min-height: 44px;
  padding: 8px; border: 0; border-radius: var(--v4-radio-s, 6px);
  color: var(--color-tinta); background: transparent; text-decoration: none; cursor: pointer;
}
.c-cascara[data-unificada] .c-control-icono:hover,
.c-cascara[data-unificada] .c-control-icono[aria-current="page"] { background: var(--color-destacado-suave); color: var(--color-acento); }
.c-cascara[data-unificada] .c-control-icono:focus-visible { outline: 2px solid var(--color-acento); outline-offset: 2px; }
.c-cascara[data-unificada] .c-control-icono-dibujo { position: relative; display: inline-flex; }
.c-cascara[data-unificada] .c-simulacion-marca { position: absolute; right: -8px; bottom: -6px; padding: 1px 2px; border: 1px solid var(--color-borde); border-radius: 3px; background: var(--color-superficie); color: var(--color-acento); font-size: 7px; font-weight: 700; line-height: 1; }
.c-agente-simulado { width: min(440px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); margin: auto 12px auto auto; padding: 16px; overflow: auto; border: 1px solid var(--color-borde); border-radius: 12px; color: var(--color-tinta); background: var(--color-superficie); }
.c-agente-simulado::backdrop { background: #0005; }
.c-agente-simulado > header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.c-agente-simulado h2 { font-size: 18px; font-weight: 650; }
.c-agente-simulado h2 > span { display: inline-block; margin-left: 6px; padding: 3px 6px; border-radius: 4px; color: var(--color-acento); background: var(--color-destacado-suave); font-size: 11px; }
.c-agente-simulado > p { margin: 8px 0; font-size: 13px; line-height: 1.5; }
.c-agente-simulado .c-simulacion-mensajes { display: grid; gap: 12px; max-height: 36dvh; margin: 12px 0; overflow: auto; }
.c-agente-simulado article { padding: 12px; border: 1px solid var(--color-borde); border-radius: 8px; font-size: 13px; line-height: 1.5; }
.c-agente-simulado article p + p { margin-top: 8px; }
.c-agente-simulado form { display: grid; gap: 8px; }
.c-agente-simulado form > button { justify-self: end; width: auto; min-height: 36px; padding: 6px 12px; font-size: 13px; line-height: 1.4; }
.c-agente-simulado label { font-size: 13px; font-weight: 600; }
.c-agente-simulado textarea { width: 100%; padding: 10px; border: 1px solid var(--color-borde); border-radius: 6px; background: var(--color-superficie); color: var(--color-tinta); font-size: 16px; resize: vertical; }
.c-agente-simulado textarea:focus-visible { outline: 2px solid var(--color-acento); outline-offset: 2px; }
.c-cascara[data-unificada] .c-control-icono-ayuda {
  display: none; position: absolute; top: calc(100% + 4px); right: 0; z-index: 40;
  width: -moz-max-content;
  width: max-content; max-width: calc(100vw - 24px); padding: 6px 8px;
  border: 1px solid var(--color-borde); border-radius: var(--v4-radio-s, 6px);
  color: var(--color-tinta); background: var(--color-superficie); font-size: var(--v4-texto-xs, 12px);
  font-weight: var(--v4-peso-normal, 400); line-height: 1.4;
}
.c-cascara[data-unificada] .c-control-icono:hover .c-control-icono-ayuda,
.c-cascara[data-unificada] .c-control-icono:focus-visible .c-control-icono-ayuda { display: block; }
.c-cascara[data-unificada] .c-cuenta-global > summary { list-style: none; }
.c-cascara[data-unificada] .c-cuenta-global > summary::-webkit-details-marker { display: none; }
.c-cascara[data-unificada] .c-cuenta-global[open] > summary .c-control-icono-ayuda { display: none; }
.c-cascara[data-unificada] .c-cuenta-global > div { position: absolute; top: 100%; right: 0; width: 240px; max-width: calc(100vw - 24px); padding: 12px; border: 1px solid var(--color-borde); border-radius: 8px; background: var(--color-superficie); box-shadow: 0 8px 24px #0002; z-index: 30; }
.c-cascara[data-unificada] > .c-panel {
  grid-column: 1; grid-row: 2; position: relative; top: auto;
  width: 100%; height: 100%; min-height: 0; overflow: hidden;
  background: var(--color-superficie); border-right: 1px solid var(--color-borde);
}
.c-cascara[data-unificada] > .c-panel > aside { width: 100%; min-height: 0; height: 100%; padding: 12px; overflow-y: auto; overscroll-behavior: contain; border: 0; }
.c-cascara[data-unificada] > main {
  grid-column: 2; grid-row: 2; display: flex; flex-direction: column;
  min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain;
  padding: 20px 24px 36px; gap: 12px; scroll-padding-top: 16px;
}
.c-cascara[data-unificada] > main > * { flex-shrink: 0; }
.c-cascara[data-unificada] .c-cabecera-pagina { display: flex; flex-direction: column; gap: 8px; }
.c-cascara[data-unificada] .c-nav-unificada { display: flex; flex-direction: column; width: 100%; gap: 4px; }
.c-cascara[data-unificada] .c-nav-cabecera { display: flex; flex-direction: column; gap: 3px; margin: 0 4px 8px; padding: 8px 8px 14px; border-bottom: 1px solid var(--color-borde); }
.c-cascara[data-unificada] .c-nav-cabecera > span { color: var(--color-tenue); font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.c-cascara[data-unificada] .c-nav-cabecera > strong { color: var(--color-tinta); font-size: 14px; font-weight: 650; letter-spacing: -.015em; line-height: 1.5; }
.c-cascara[data-unificada] .c-nav-compacta { display: none; }
.c-cascara[data-unificada] .c-nav-arbol { display: flex; flex-direction: column; gap: 5px; }
.c-cascara[data-unificada] .c-nav-area { padding: 2px 0; }
.c-cascara[data-unificada] .c-nav-area > summary { display: list-item; padding: 10px 12px; min-height: 46px; font-size: 13px; font-weight: 650; cursor: pointer; }
.c-cascara[data-unificada] .c-nav-area > .c-nav-area-resumen { display: flex; align-items: center; gap: 8px; border: 1px solid transparent; border-radius: 8px; list-style: none; font-weight: 600; letter-spacing: -.01em; line-height: 1.4; }
.c-cascara[data-unificada] .c-nav-area-resumen::-webkit-details-marker { display: none; }
.c-cascara[data-unificada] .c-nav-area-resumen > span { flex: 1; }
.c-cascara[data-unificada] .c-nav-area-identidad { display: flex; align-items: center; gap: 10px; min-width: 0; }
.c-cascara[data-unificada] .c-nav-area-identidad > svg { flex: 0 0 auto; }
.c-cascara[data-unificada] .c-nav-area-resumen > svg { flex: 0 0 auto; padding: 3px; width: 22px; height: 22px; border-radius: 6px; transform: rotate(180deg); transition: transform 150ms; }
.c-cascara[data-unificada] .c-nav-area[open] > .c-nav-area-resumen > svg { transform: rotate(-90deg); }
.c-cascara[data-unificada] .c-nav-area-resumen:hover,
.c-cascara[data-unificada] .c-nav-enlace:hover { background: color-mix(in srgb, var(--color-destacado-suave) 65%, var(--color-superficie)); color: var(--color-acento); }
.c-cascara[data-unificada] .c-nav-area[open] > .c-nav-area-resumen,
.c-cascara[data-unificada] .c-nav-area-resumen[data-actual] { background: var(--color-destacado-suave); color: var(--color-acento); border-color: color-mix(in srgb, var(--color-acento) 18%, transparent); }
.c-cascara[data-unificada] .c-nav-area-resumen[data-actual] { box-shadow: inset 3px 0 var(--color-acento); }
.c-cascara[data-unificada] .c-nav-area-resumen:focus-visible,
.c-cascara[data-unificada] .c-nav-enlace:focus-visible { outline: 2px solid var(--color-acento); outline-offset: -2px; }
@media (prefers-reduced-motion: reduce) { .c-cascara[data-unificada] .c-nav-area-resumen > svg { transition: none; } }
.c-cascara[data-unificada] .c-nav-pregunta { font-size: 12px; line-height: 1.5; color: var(--color-tenue); margin: 8px 0 4px; padding: 0 12px 6px; }
.c-cascara[data-unificada] .c-nav-grupo > summary, .c-cascara[data-unificada] .c-nav-avanzadas > summary { cursor: pointer; min-height: 40px; padding: 8px; font-size: 12px; }
.c-cascara[data-unificada] .c-nav-lista { list-style: none; padding: 0 0 0 10px; margin: 0 0 4px 20px; border-left: 1px solid var(--color-borde); }
.c-cascara[data-unificada] .c-nav-enlace { display: block; padding: 10px 12px; min-height: 44px; border-radius: 6px; font-size: 13px; line-height: 1.5; color: var(--color-tinta); text-decoration: none; overflow-wrap: anywhere; }
.c-cascara[data-unificada] .c-nav-enlace[aria-current="page"] { color: var(--color-acento); background: var(--color-destacado-suave); font-weight: 650; box-shadow: inset 3px 0 var(--color-acento); }
/* «Asistente» del menú con el panel de la Mesa abierto: no es la página actual (no navega), pero se ve que está abierto. */
.c-cascara[data-unificada] .c-nav-enlace[data-asistente-abierto] { color: var(--color-acento); font-weight: 650; box-shadow: inset 3px 0 color-mix(in srgb, var(--color-acento) 55%, transparent); }
.c-cascara[data-unificada] .c-fondo-menu { display: none; }
/* Mesa deja al frame ser el dueño del scroll, no agrega otro viewport vertical. */
.m-tablero-scroll:has(> .c-cascara[data-frame-persistente]) { overflow: hidden; padding: 0; }

@media (min-width: 1200px) {
  .c-cascara[data-unificada][data-menu="iconos"] > .c-panel > aside { padding: 6px; }
  .c-cascara[data-unificada][data-menu="iconos"] .c-nav-cabecera { display: none; }
  .c-cascara[data-unificada][data-menu="iconos"] .c-nav-arbol { display: none; }
  .c-cascara[data-unificada][data-menu="iconos"] .c-nav-compacta { display: flex; flex-direction: column; gap: 4px; }
  .c-cascara[data-unificada] .c-nav-compacta > button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-height: 56px; width: 100%; padding: 6px 2px; border: 0; border-radius: 6px; background: transparent; color: var(--color-tinta); cursor: pointer; }
  .c-cascara[data-unificada] .c-nav-compacta > button > span { font-size: 10px; font-weight: 600; line-height: 1.3; overflow-wrap: anywhere; }
  .c-cascara[data-unificada] .c-nav-compacta > button:hover { background: color-mix(in srgb, var(--color-destacado-suave) 65%, var(--color-superficie)); color: var(--color-acento); }
  .c-cascara[data-unificada] .c-nav-compacta > button[data-actual] { background: var(--color-destacado-suave); color: var(--color-acento); box-shadow: inset 3px 0 var(--color-acento); }
  .c-cascara[data-unificada] .c-nav-compacta > button:focus-visible { outline: 2px solid var(--color-acento); outline-offset: -2px; }
}

@media (max-width: 1199px) {
  .c-cascara[data-unificada][data-menu][data-agente] { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(56px, auto) minmax(0, 1fr); display: grid; }
  .c-cascara[data-unificada] > main { grid-column: 1; padding: 16px; }
  .c-cascara[data-unificada][data-menu] > .c-panel { display: none; }
  .c-cascara[data-unificada][data-cajon="menu"] > .c-panel {
    display: flex; flex-direction: column; position: fixed; inset: 0 auto 0 0;
    width: min(320px, calc(100vw - 32px)); height: 100dvh; z-index: 902;
    padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px);
  }
  .c-cascara[data-unificada][data-cajon="menu"] > .c-panel > aside { flex: 1; min-height: 0; height: auto; }
  .c-cascara[data-unificada][data-cajon="menu"] .c-cerrar-menu { display: block; align-self: stretch; text-align: right; min-height: 44px; padding: 12px; }
  .c-cascara[data-unificada][data-cajon="menu"] .c-buscador-cajon { min-height: 44px; }
  .c-cascara[data-unificada][data-cajon="menu"] > .c-fondo-menu { display: block; position: fixed; inset: 0; border: 0; background: #0006; z-index: 901; }
  .c-cascara[data-unificada] .c-ubicacion-global { flex-basis: 100%; order: 4; }
  .c-cascara[data-unificada] > .c-cabecera-global { flex-wrap: wrap; }
  .c-cascara[data-unificada] .c-migas a { min-height: 44px; }
}
@media (max-width: 767px) {
  .c-cascara[data-unificada] > .c-cabecera-global { gap: 6px; padding-inline: 8px; flex-wrap: wrap; }
  /* H11 (auditoría de Ajustes, 04/11): el nombre de la cuenta en UN renglón con «…» (antes ocupaba hasta 5 en el celular); completo en el `title`. */
  .c-cascara[data-unificada] .c-marca-global { flex: 1; min-width: 0; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .c-cascara[data-unificada] .c-utilidades-globales { flex-shrink: 0; gap: 4px; }
  .c-cascara[data-unificada] .c-buscar-abrir > span, .c-cascara[data-unificada] .c-buscar-abrir > kbd { display: none; }
  .c-cascara[data-unificada] .c-buscar-abrir { min-width: 44px; min-height: 44px; }
  .c-cascara[data-unificada] > main { padding: 14px 12px 24px; }
  .c-cascara[data-unificada] .c-pestana-analista { bottom: calc(16px + env(safe-area-inset-bottom, 0px)); }
}
@media print {
  .c-cascara[data-unificada][data-menu][data-agente] { display: block; height: auto; overflow: visible; width: 100%; }
  .c-cascara[data-unificada] > .c-cabecera-global, .c-cascara[data-unificada] > .c-panel, .c-cascara[data-unificada] > .c-fondo-menu { display: none !important; }
  .c-cascara[data-unificada] > main { overflow: visible; height: auto; padding: 0; }
}

