/* Base de delitos (js/delitos.js) y fórmulas de concepto RC (js/conceptos.js) */

/* ---- VentanaBaseDelitos: lista a la izquierda, ficha a la derecha ---- */
.modal.bd-ventana { max-width: min(1280px, 100%); height: min(680px, calc(100vh - 24px)); }
.bd-ventana .modal-cuerpo.bd-cuerpo { flex: 1 1 auto; min-height: 0; display: flex; gap: 14px; white-space: normal; overflow: hidden; }
.bd-izq { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 8px; min-height: 0; }
.bd-fila-buscar { display: flex; align-items: center; gap: 8px; }
.bd-fila-buscar .campo { flex: 1 1 auto; min-width: 0; }
.bd-lista { flex: 1 1 auto; min-height: 120px; overflow: auto; border: 1px solid var(--borde-campo); border-radius: var(--radio); background: var(--superficie); outline: none; }
.bd-lista:focus-visible { box-shadow: 0 0 0 2px var(--seleccion); }
.bd-tabla { width: 100%; border-collapse: collapse; table-layout: auto; }
.bd-tabla th { position: sticky; top: 0; background: var(--fondo); text-align: left; font-weight: 600; padding: 5px 8px; border-bottom: 1px solid var(--borde); white-space: nowrap; }
.bd-tabla td { padding: 4px 8px; border-bottom: 1px solid var(--hover); cursor: default; user-select: none; }
.bd-tabla td:nth-child(2), .bd-tabla td:nth-child(3) { white-space: nowrap; width: 1%; }
.bd-tabla tr[data-id]:hover td { background: var(--hover); }
.bd-tabla tr.sel td { background: var(--acento); color: var(--sobre-acento); }
.bd-cargando { color: var(--texto-suave); }
.bd-botones { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.bd-hueco { flex: 1 1 auto; }
fieldset.panel.bd-ficha { flex: 0 1 360px; min-width: 0; margin: 0; align-self: stretch; overflow: auto; }
.bd-ficha-cuerpo { display: flex; flex-direction: column; gap: 2px; height: 100%; }
.bd-ficha-cuerpo > .etq { margin-top: 8px; }
.bd-ficha-cuerpo > .etq:first-child { margin-top: 0; }
.bd-ficha-cuerpo .campo { width: 100%; }
.bd-art-ley { display: flex; gap: 8px; margin-top: 8px; }
.bd-art-ley > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bd-art-ley > div:first-child { flex: 1 1 auto; }
.bd-art-ley .desplegable-envoltorio .campo { width: 7em; }
.bd-acciones { margin-top: auto; padding-top: 12px; display: flex; justify-content: flex-end; gap: 6px; flex-wrap: wrap; }
.modal.ocupado { cursor: progress; }
.modal.ocupado .boton { pointer-events: none; }

@media (max-width: 760px) {
  .modal.bd-ventana { height: calc(100vh - 24px); }
  .bd-ventana .modal-cuerpo.bd-cuerpo { flex-direction: column; overflow: auto; }
  .bd-izq { flex: 0 0 auto; }
  .bd-lista { flex: 0 0 auto; height: 38vh; }
  fieldset.panel.bd-ficha { flex: 0 0 auto; overflow: visible; }
}

/* ---- ofrecer_guardar_nuevos ---- */
.modal.bd-nuevos { max-width: min(640px, 100%); }
.bd-nuevos .modal-cuerpo { white-space: normal; }
.bd-nuevos-pregunta { font-weight: 700; }
.bd-nuevos-nota { display: block; margin: 2px 0 10px; }
.bd-nuevos-fila { margin: 2px 0; }

/* ---- EditorConceptos ---- */
.modal.bc-ventana { width: 100%; max-width: min(620px, 100%); height: min(440px, calc(100vh - 24px)); }
.bc-ventana .modal-cuerpo.bc-cuerpo { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; gap: 8px; white-space: normal; overflow: hidden; }
.bc-ayuda { display: block; }
.bc-centro { flex: 1 1 auto; min-height: 90px; display: flex; gap: 8px; }
.lista.bc-lista { flex: 1 1 auto; max-height: none; min-height: 0; overflow: auto; padding: 4px 0; outline: none; }
.bc-lateral { display: flex; flex-direction: column; gap: 4px; }
.bc-lateral .boton { padding: 4px 8px; }
.bc-fila { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.bc-fila .bc-entrada { flex: 1 1 12em; min-width: 0; }
.bc-pie { flex-wrap: wrap; }

/* Fila «Editar base de delitos…» del buscador de Penas (Autocompletar extra) */
.pen-sug.extra .pen-sug-nombre { color: var(--acento); }
.pen-sug.extra.sel .pen-sug-nombre { color: var(--sobre-acento); }

/* Menús (UI.menuBoton) abiertos desde una ventana: por encima del fondo del modal */
.modal-fondo ~ .menu-flotante { z-index: 95; }
