/* UNI-R4K (04-oct-2026) - Tareos de obras (residentes, metas-proyecto, ingreso masivo, registro de
   asistencia, migracion de legado). Clases PROPIAS de la tanda (nunca reglas sobre .dxbl-*). Si se
   aprueban, subirlas a mpu-base.css. */

/* Anchos fijos para editores sueltos en una fila de filtros (en vez de style="width:..."). */
.mpu-r4k-ancho-chico { width: 110px; flex-shrink: 0; }
.mpu-r4k-ancho-medio { width: 160px; flex-shrink: 0; }
.mpu-r4k-ancho-grande { width: 360px; max-width: 100%; flex-shrink: 1; }

/* Rotulo de un editor suelto en una fila de filtros. */
.mpu-r4k-rotulo { font-size: var(--mpu-texto-chico); color: var(--mpu-secundario); }

/* Campo apilado: rotulo arriba, editor abajo (formularios sin DxFormLayout). */
.mpu-r4k-campo { display: flex; flex-direction: column; gap: var(--mpu-espacio-1); min-width: 0; }
.mpu-r4k-campo > label { font-size: var(--mpu-texto-chico); color: var(--mpu-secundario); font-weight: 600; }

/* Asistencia de los 31 dias del mes: rejilla que se acomoda al ancho. */
.mpu-r4k-dias { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: var(--mpu-espacio-2); }

/* Lista corta con desplazamiento (errores de un proceso, mensajes). */
.mpu-r4k-lista { max-height: 200px; overflow-y: auto; display: flex; flex-direction: column; }
.mpu-r4k-lista-item {
    display: flex; flex-direction: column; gap: 2px;
    padding: var(--mpu-espacio-1) 0; border-bottom: 1px solid var(--mpu-fondo-zonas); font-size: var(--mpu-texto-chico);
}
.mpu-r4k-lista-item:last-child { border-bottom: none; }

/* Pie fijo de un formulario largo dentro de una ventana (Cancelar / Guardar a la derecha). */
.mpu-r4k-pie {
    position: sticky; bottom: 0; z-index: 1;
    display: flex; justify-content: flex-end; gap: var(--mpu-espacio-2);
    background: var(--mpu-superficie); border-top: 1px solid var(--mpu-borde);
    padding: var(--mpu-espacio-2) 0 0;
}

/* Estado vacio (sin filas, sin seleccion). */
.mpu-r4k-vacio { text-align: center; padding: var(--mpu-espacio-4); color: var(--mpu-apagado); }
.mpu-r4k-vacio > i { font-size: 24px; display: block; margin-bottom: var(--mpu-espacio-2); }

/* Maestro y detalle lado a lado; en pantallas chicas, uno debajo del otro. */
.mpu-r4k-maestro-detalle { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--mpu-espacio-3); align-items: start; }
@media (max-width: 1200px) {
    .mpu-r4k-maestro-detalle { grid-template-columns: minmax(0, 1fr); }
}

/* Texto de error dentro de una lista (rojo de la guia, sin fondo). */
.mpu-r4k-error { color: var(--mpu-peligro); }

/* Texto preformateado (log de un proceso). */
.mpu-r4k-pre {
    white-space: pre-wrap; font-family: var(--mpu-fuente-cifras); font-size: var(--mpu-texto-chico);
    background: var(--mpu-fondo-zonas); border: 1px solid var(--mpu-borde); border-radius: var(--mpu-radio-grande);
    padding: var(--mpu-espacio-3); max-height: 40vh; overflow: auto; margin: 0;
}
