.cif-wrap { margin: 1rem 0; }
.cif-filters { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:.5rem; }
.cif-filters select{ padding:.45rem .6rem; border:1px solid #cbd5e1; border-radius:.5rem; }
.cif-table-actions { margin-bottom: .75rem; display:flex; gap:.5rem; flex-wrap:wrap;}
.cif-btn { display:inline-block; padding:.5rem .75rem; border-radius:.5rem; background:#001868; color:#fff; text-decoration:none; font-weight:600; border:0; cursor:pointer; }
.cif-btn:hover { opacity:.92; }
.cif-btn-secondary { background:#4b5563; }
.cif-link { background:none; border:0; color:#006c21; cursor:pointer; font-weight:600; }
.cif-badge { padding:.25rem .5rem; border-radius:999px; font-size:.85em; border:1px solid #e5e7eb; }
.cif-status-en-ejecucion { background:#eef2ff; }
.cif-status-terminado { background:#ecfdf5; }
.cif-status-suspendido { background:#fff7ed; }
.cif-status-liquidado { background:#f1f5f9; }
.cif-status-anulado { background:#fee2e2; }
.cif-status-planeacion { background:#fef9c3; }
.cif-status-adjudicado { background:#e0f2fe; }

/* Body scroll lock when modal open */
.cif-no-scroll { overflow: hidden; }

/* Modal */
.cif-modal { position:fixed; inset:0; background:rgba(0,0,0,.4); display:flex; align-items:center; justify-content:center; z-index:9999; overflow:auto; }
.cif-modal-content { width:min(720px,92vw); background:#fff; border-radius:1rem; overflow:auto; max-height:90vh; box-shadow:0 10px 30px rgba(0,0,0,.2); }
.cif-modal-head { position:sticky; top:0; background:#fff; z-index:1; display:flex; align-items:center; justify-content:space-between; padding:1rem 1.25rem; border-bottom:1px solid #e5e7eb; }
.cif-modal-head h3 { margin:0; }
.cif-modal-close { background:none; border:0; font-size:1.5rem; cursor:pointer; line-height:1; }
#cif-form { padding:1rem 1.25rem; }
.cif-row { display:flex; flex-direction:column; gap:.25rem; margin-bottom:.75rem; }
.cif-row input, .cif-row textarea, .cif-row select { padding:.5rem; border:1px solid #cbd5e1; border-radius:.5rem; width:100%; }
.cif-actions { display:flex; gap:.5rem; align-items:center; margin-top:.5rem; }
#cif-doc-preview { margin-top:.25rem; font-size:.9em; }
