/* Valoración de procesos, fase 1 (3.9.35): tiempos en minutos, escalas con rangos y criticidad por peor caso. */
.cg-bia h3, .cg-bia-head h3 { margin:0 0 8px; }
.cg-bia-times { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)) minmax(0, 1.5fr); gap:12px; }
.cg-bia-time { display:grid; gap:4px; min-width:0; }
.cg-bia-time > label { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-weight:700; font-size:13px; color:#0f172a; }
.cg-bia-time__row { display:flex; gap:6px; align-items:stretch; }
.cg-bia-time__row input { flex:1 1 0; width:auto !important; min-width:0; }
.cg-bia-time__row select { flex:0 0 108px; width:108px !important; min-width:0; }
.cg-bia-suffix { display:flex; align-items:center; padding:0 10px; border:1px solid #cbd5e1; border-radius:10px; background:#f1f5f9; font-weight:700; color:#0f2a4a; }
.cg-bia-req { display:inline-block; width:auto; padding:1px 7px; border-radius:999px; background:#fef3c7; color:#92400e; font-size:11px; font-weight:700; }
.cg-bia-glossary, .cg-bia-scale { margin-top:8px; font-size:13px; }
.cg-bia-glossary summary, .cg-bia-scale summary { cursor:pointer; color:#1d4ed8; font-weight:600; min-height:32px; display:inline-flex; align-items:center; }
.cg-bia-glossary dl { display:grid; gap:6px; margin:6px 0 0; padding:10px 12px; border:1px solid #e2e8f0; border-radius:10px; background:#f8fafc; }
.cg-bia-glossary dl div { display:grid; grid-template-columns:64px 1fr; gap:8px; }
.cg-bia-glossary dt { font-weight:800; color:#1e3a8a; }
.cg-bia-glossary dd { margin:0; color:#334155; }
.cg-bia-head { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:8px; }
.cg-bia-scale[open] { flex-basis:100%; }
.cg-bia-scale__wrap { overflow-x:auto; margin-top:6px; border:1px solid #e2e8f0; border-radius:10px; }
.cg-bia-scale table { width:100%; min-width:760px; border-collapse:collapse; font-size:12px; }
.cg-bia-scale caption { text-align:left; padding:8px 10px; color:#64748b; }
.cg-bia-scale th, .cg-bia-scale td { padding:7px 9px; border-top:1px solid #e2e8f0; text-align:left; vertical-align:top; }
.cg-bia-scale thead th { background:#f1f5f9; color:#0f172a; }
.cg-bia-scale tbody th { color:#0f172a; white-space:nowrap; }
.cg-bia-note { margin:0 0 10px; font-size:13px; }
.cg-bia-deps { margin:10px 0 0; font-size:13px; color:#334155; }
.cg-bia-override { display:grid; grid-template-columns:minmax(200px, 320px) 1fr; gap:12px; margin-top:12px; align-items:start; }
.cg-bia-override [hidden] { display:none !important; }
@media (max-width:1100px) { .cg-bia-times { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:640px) { .cg-bia-times, .cg-bia-override { grid-template-columns:1fr; } .cg-bia-glossary dl div { grid-template-columns:1fr; } }
/* Las opciones largas de los selectores no deben ensanchar la cuadrícula (móvil). */
#processInlineForm .asset-form-grid > *, .cg-bia, .cg-bia * { min-width:0; }
#processInlineForm .process-criticality-grid { grid-template-columns:repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
#processInlineForm select, .cg-bia select { max-width:100%; text-overflow:ellipsis; }
.cg-bia-legacy { margin:10px 0 0; padding:10px 12px; border:1px solid #fcd34d; border-radius:10px; background:#fffbeb; color:#92400e; font-size:13px; line-height:1.45; }
/* 3.9.37: semáforo de coherencia entre MTPD, RTO, RPO y MBCO; botón Cerrar en paneles; etiquetas alineadas a la izquierda. */
.cg-bia-time > label { justify-content:flex-start; text-align:left; }
.cg-bia-check { margin:2px 0 0; padding:5px 8px; border-radius:8px; font-size:12px; line-height:1.4; border:1px solid; }
.cg-bia-check--green { background:#ecfdf5; border-color:#a7f3d0; color:#065f46; }
.cg-bia-check--amber { background:#fffbeb; border-color:#fcd34d; color:#92400e; }
.cg-bia-check--red { background:#fef2f2; border-color:#fca5a5; color:#991b1b; font-weight:600; }
.cg-bia-time input[aria-invalid="true"] { border-color:#dc2626; box-shadow:0 0 0 1px #dc2626; }
.cg-bia-panel { display:grid; gap:8px; }
.cg-bia-close { justify-self:end; margin-top:8px; }
.cg-bia-scale > .cg-bia-close { display:block; margin-left:auto; }
/* 3.9.40: etiquetas alineadas a la izquierda y a la misma altura (el aviso "obligatorio" ya no baja el campo). */
#processInlineForm .cg-bia-time > label { flex-direction:row; flex-wrap:nowrap; align-items:center; justify-content:flex-start; text-align:left; min-height:24px; white-space:nowrap; }
#processInlineForm .cg-bia-time { align-content:start; }
.cg-bia-time--mbco select { flex:1 1 auto; width:100% !important; min-width:0; }
