/* MARCO COMÚN: lateral y barra de abajo (Iris, #1258 / ui-1256). Pieza opcional: se carga DESPUÉS de app.css y no la sustituye. Archivo nuevo.
   Arregla los fallos que se repetían en TODAS las pantallas de oficina (revisión #1254, filas MARCO): (1) el nombre de la cuenta del lateral a 1366 px mide 138 px en una caja de 130 y se cortaba; (2) «Partes y excepciones» y «Sistema anterior y Cova» con la insignia se partían en 2 líneas; (3) la insignia del menú de abajo (390 px) cuenta como una segunda línea de texto.
   Cómo: el lateral pasa de 232 a 248 px (--mrc-lat) en pantalla ancha y no plegada; la etiqueta del menú va en una línea (13,5 px, nunca menos de 12); el nombre y la frase de la cuenta pueden bajar a 2 líneas en vez de cortarse; la barra de abajo sigue a 4 y 5 botones de 52 px de alto.
   OPCIONAL (1 línea de app.js): si el botón de abajo lleva data-n="6" y aria-label="Fichajes, 6 avisos", la insignia se pinta con ::after (no cuenta como texto aparte) y el span .n se oculta.
   Claro y oscuro: no pone colores nuevos; usa los de app.css. Datos de ejemplo: ninguno. */
:root{--mrc-lat:248px}
@media (min-width:900px){
  .ofi:not(.plegado){grid-template-columns:var(--mrc-lat) minmax(0,1fr)}
  .ofi:not(.plegado) .tabbar{left:var(--mrc-lat)}
  .ofi:not(.plegado) .side .menu-cuenta{left:calc(var(--mrc-lat) + 12px)}
}
/* menú lateral: una línea por opción; la insignia no empuja la etiqueta */
.ofi .side nav button{font-size:13.5px;gap:10px;white-space:nowrap}
.ofi .side nav button>span:not(.n):not(.f2),.ofi .side nav button .t{min-width:0;white-space:nowrap}
.ofi .side nav .n{flex:none;font-size:12px;line-height:1.2}
/* cuenta: nombre y frase enteros, hasta 2 líneas, nunca cortados con «…» */
.ofi .side .cuenta{min-width:0;align-items:center}
.ofi .side .cuenta .t{min-width:0;flex:1 1 auto}
.ofi .side .cuenta .t b,.ofi .side .cuenta .t small{display:block;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25}
.ofi .side .cuenta small{font-size:12px}
@media (min-width:900px){.ofi:not(.plegado) .side .cuenta small{display:block}}
/* barra de abajo: botones de 52 px, texto de 12 px en una línea */
.tabbar button{min-height:52px;white-space:nowrap;font-size:12px;line-height:1.2}
.tabbar button .i{flex:none}
/* opcional: insignia dibujada con data-n (no es un texto aparte; el número va en aria-label) */
.tabbar button[data-n]{position:relative}
.tabbar button[data-n] .n{display:none}
.tabbar button[data-n]::after{content:attr(data-n);position:absolute;top:3px;left:calc(50% + 6px);min-width:18px;height:18px;box-sizing:border-box;padding:0 5px;border-radius:999px;background:var(--yel,#f6b80f);color:var(--titulo,#10294f);font-size:12px;font-weight:800;line-height:18px;text-align:center}
body.oscuro .tabbar button[data-n]::after{color:var(--navy-d,#0c1426)}
@media (prefers-reduced-motion:reduce){.ofi .side nav button,.tabbar button{transition:none}}
/* contraste de las cifras del menú «Sistemas» en oscuro: texto oscuro sobre el color claro de cada estado (antes blanco sobre amarillo: 1,65) */
body.oscuro .px-sis-n{color:var(--navy-d,#0c1426)}
/* controles de 44 px en todas las pantallas de oficina (botones pequeños, desplegables y campos de búsqueda) */
.ofi-main :is(button,a).b,.ofi-main .pz-b{min-height:44px}
.ofi-main :is(select,input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden])){min-height:44px;box-sizing:border-box}
/* cuenta del lateral: 44 px de alto (medía 43) */
.ofi .side .cuenta{min-height:44px;box-sizing:border-box}
/* «Sin fichar y sin motivo»: la cabecera «Sin fichar» cabe en una línea (columna de 70 a 92 px) */
@media (min-width:900px){.px-po-r{grid-template-columns:minmax(0,1.6fr) minmax(110px,1fr) 70px 54px 92px}}
.px-po-cab>*{white-space:nowrap}
