/* ---------- Cartera (pestaña Contratos): escalera, ocupación y rent roll. Colores por variables de style.css (modo oscuro incluido). ---------- */
.cr-bloque{margin:0 0 14px;}
.cr-bloque h3{margin:0 0 4px;font-size:15px;}
.cr-leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:12px;color:var(--text-muted);margin:6px 0 8px;}
.cr-leyenda span{display:inline-flex;align-items:center;gap:6px;}
.cr-muestra{display:inline-block;width:12px;height:10px;border-radius:3px;background:var(--accent);}
.cr-muestra.cr-hueco-m{background:var(--border);}
.cr-muestra.cr-fin-m{background:var(--warn-text);}
.cr-muestra.cr-sin-inicio-m{background:transparent;border:1.5px dashed var(--text-muted);}
.cr-scroll{overflow-x:auto;}
.cr-aviso-banco{margin:8px 0 0;font-size:13px;}
.cr-cabecera{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;justify-content:space-between;margin-bottom:8px;}
.cr-resumen{font-size:13px;color:var(--text-muted);margin:0;}
.cr-pista{display:block;font-size:11px;color:var(--text-muted);line-height:1.3;margin-top:2px;}
.cr-falta{color:var(--text-muted);}
.cr-dim{color:var(--text-muted);}

/* escalera: detalle por trimestre */
.cr-trim-nombre{white-space:nowrap;font-weight:600;}

/* ocupación: SVG */
.gr.cr-ocupacion{display:block;}
.cr-hueco{fill:var(--border);opacity:.55;}
.cr-tramo{fill:var(--accent);opacity:.85;}
.cr-tramo:hover{opacity:1;}
.cr-tramo-sin-inicio{fill:var(--accent-soft);stroke:var(--accent);stroke-width:1.2;stroke-dasharray:4 3;}
.cr-vacia{fill:var(--text-muted);font-size:11px;}
.cr-fila:hover .cr-hueco{opacity:.8;}

/* escalera: barras (clases cr-fin / cr-act de barrasAgrupadas) */
.gr-barra.cr-fin{fill:var(--warn-text);}
.gr-barra.cr-act{fill:var(--accent);}

/* rent roll */
.cr-tabla td,.cr-tabla th{vertical-align:top;}
.cr-tabla .cr-inq{font-size:12px;color:var(--text-muted);}
.cr-tabla .cr-num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
