
    .cmp-meta { color: var(--muted, #5b6b6a); }
    .cmp-badge{
      display:inline-flex;align-items:center;gap:.35rem;
      border:1px solid rgba(0,0,0,.10);
      background: rgba(0,0,0,.02);
      border-radius:999px;
      padding:.25rem .6rem;
      font-size:.85rem;
    }
    .cmp-card .logo{
      width:44px;height:44px;object-fit:contain;
      background:#fff;border-radius:12px;
      border:1px solid rgba(0,0,0,.08);
      padding:6px;
      flex:0 0 auto;
    }
    .cmp-empty{
      border:1px dashed rgba(0,0,0,.25);
      border-radius:16px;
      padding:16px;
      background: rgba(0,0,0,.02);
    }
    .cmp-chip{
      display:inline-flex;align-items:center;gap:.35rem;
      border:1px solid rgba(0,0,0,.10);
      border-radius:999px;
      padding:.15rem .55rem;
      font-size:.85rem;
      background:#fff;
    }
/* Tabs color marca */
#tipoTabs .nav-link{
  color: var(--c2);
  background:#fff;
  border:1px solid rgba(0,0,0,.10);
  border-radius:999px;
}
#tipoTabs .nav-link.active{
  background:var(--c2)!important;
  border-color:var(--c2)!important;
  color:#fff!important;
}

/* Botones color marca */
.btn-primary{
  --bs-btn-bg: var(--c2);
  --bs-btn-border-color: var(--c2);
  --bs-btn-hover-bg: var(--c2);
  --bs-btn-hover-border-color: var(--c2);
}
.btn-outline-primary{
  --bs-btn-color: var(--c2);
  --bs-btn-border-color: var(--c2);
  --bs-btn-hover-bg: var(--c2);
}
/* Alineación perfecta de filtros */
#filtersForm .col-md-3{
  display:flex;
  flex-direction:column;
}

#filtersForm .form-select{
  height: 46px;          /* mismo alto para todos */
}

#filtersForm .form-text{
  min-height: 18px;      /* reserva espacio aunque no haya texto */
}

#filtersForm .form-switch{
  min-height: 24px;      /* reserva espacio para el switch */
  display:flex;
  align-items:center;
}

/* Card base */
.cmp-card{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  overflow: hidden;
  background: #fff;
}
.cmp-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 12px 30px rgba(0,0,0,.10);
  border-color: rgba(0,0,0,.14);
}

/* Header */
.cmp-title{
  font-weight: 700;
  font-size: 1.05rem;
  line-height: 1.1;
  color: var(--c2);
}

/* Logo */
.cmp-logo-wrap{
  width: 54px; height: 54px;
  border-radius: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.06);
  display: grid; place-items: center;
  flex: 0 0 auto;
}
.cmp-logo{
  width: 40px; height: 40px;
  object-fit: contain;
}
.cmp-logo--placeholder{
  width: 40px; height: 40px;
  display: grid; place-items:center;
  color: rgba(0,0,0,.45);
}

/* Chip + warning */
.cmp-chip{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  font-size: .82rem;
  color: rgba(0,0,0,.70);
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
}
.cmp-badge-warn{
  display: inline-flex;
  align-items: center;
  gap: .4rem;
  padding: .25rem .55rem;
  border-radius: 999px;
  font-size: .82rem;
  background: rgba(255, 193, 7, .18);
  border: 1px solid rgba(255, 193, 7, .35);
  color: rgba(0,0,0,.75);
}

/* Facts (monto/plazo/interes) */
.cmp-facts{
  display: grid;
  gap: .6rem;
}
.cmp-fact{
  display: flex;
  gap: .75rem;
  padding: .6rem .7rem;
  border-radius: 14px;
  background: rgba(0,0,0,.02);
  border: 1px solid rgba(0,0,0,.06);
}
.cmp-fact-ico{
  width: 34px; height: 34px;
  border-radius: 10px;
  display: grid; place-items: center;
  background: rgba(0,0,0,.05);
  color: rgba(0,0,0,.70);
  flex: 0 0 auto;
}
.cmp-fact-label{
  font-size: .78rem;
  color: rgba(0,0,0,.55);
  line-height: 1.1;
}
.cmp-fact-val{
  font-size: .92rem;
  font-weight: 600;
  color: rgba(0,0,0,.78);
  line-height: 1.15;
}

/* Requisitos */
.cmp-req-title{
  font-weight: 700;
  font-size: .9rem;
  margin-bottom: .35rem;
  color: rgba(0,0,0,.75);
}
.cmp-req-list{
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: grid;
  gap: .25rem;
  color: rgba(0,0,0,.62);
  font-size: .9rem;
}
.cmp-req-list i{
  margin-right: .35rem;
}

/* Muted */
.cmp-muted{
  color: rgba(0,0,0,.60);
  font-size: .92rem;
}

/* Button */
.cmp-btn{
  padding: .75rem 1rem;
  font-weight: 700;
}
.cmp-card .card-body{ display:flex; flex-direction:column; }

.cmp-summary{
  border: 1px solid rgba(0,0,0,.08);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(0,0,0,.015), rgba(0,0,0,0));
}
.cmp-summary-title{
  color: var(--c2);
  font-weight: 800;
  display: flex;
  align-items: center;
}
.cmp-summary .cmp-chip{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.25rem .55rem;
  border-radius:999px;
  font-size:.82rem;
  background: rgba(0,0,0,.04);
  border: 1px solid rgba(0,0,0,.06);
  color: rgba(0,0,0,.70);
}

/* Reusa el sistema de facts (si ya lo pusiste en cards, esto te queda igual) */
.cmp-summary .cmp-facts{ display:grid; gap:.6rem; }
.cmp-summary .cmp-fact{
  display:flex;
  gap:.75rem;
  padding:.75rem .8rem;
  border-radius: 14px;
  background: rgba(0,0,0,.02);
  border: 1px solid rgba(0,0,0,.06);
}
.cmp-summary .cmp-fact-ico{
  width: 36px; height: 36px;
  border-radius: 12px;
  display:grid; place-items:center;
  background: rgba(0,0,0,.05);
  color: rgba(0,0,0,.70);
  flex: 0 0 auto;
}
.cmp-summary .cmp-fact-label{
  font-size: .78rem;
  color: rgba(0,0,0,.55);
  line-height: 1.1;
}
.cmp-summary .cmp-fact-val{
  font-size: .98rem;
  font-weight: 750;
  color: rgba(0,0,0,.78);
  line-height: 1.15;
}