.cat-resumen {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: .8rem;
  margin: 1.2rem 0;
}

.cat-kpi {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: .5rem;
  padding: .8rem 1rem;
  display: flex;
  flex-direction: column;
}
.cat-kpi-num { font-size: 1.6rem; font-weight: 700; color: var(--md-primary-fg-color); line-height: 1.2; }
.cat-kpi-lbl { font-size: .7rem; color: var(--md-default-fg-color--light); text-transform: uppercase; letter-spacing: .04em; }

.cat-filtros { display: flex; flex-direction: column; gap: .6rem; margin: 1.2rem 0; }
#cat-buscar {
  width: 100%;
  padding: .5rem .8rem;
  border: 1px solid var(--md-default-fg-color--lighter);
  border-radius: .4rem;
  background: var(--md-default-bg-color);
  color: var(--md-default-fg-color);
  font: inherit;
}
.cat-chips { display: flex; flex-wrap: wrap; gap: .4rem; }
.cat-chip {
  border: 1px solid var(--md-default-fg-color--lighter);
  background: transparent;
  color: var(--md-default-fg-color);
  border-radius: 1rem;
  padding: .2rem .8rem;
  font-size: .7rem;
  cursor: pointer;
}
.cat-chip.activo { background: var(--md-primary-fg-color); border-color: var(--md-primary-fg-color); color: var(--md-primary-bg-color); }

.cat-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}
.cat-card {
  border: 1px solid var(--md-default-fg-color--lightest);
  border-radius: .6rem;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: .5rem;
  transition: box-shadow .15s, border-color .15s;
}
.cat-card:hover { border-color: var(--md-primary-fg-color); box-shadow: 0 2px 10px rgba(0,0,0,.08); }
.cat-card h3 { margin: 0 !important; font-size: .95rem; }
.cat-card-top { display: flex; justify-content: space-between; align-items: center; }
.cat-tipo { font-size: .65rem; text-transform: uppercase; letter-spacing: .05em; color: var(--md-default-fg-color--light); }
.cat-desc { margin: 0 !important; font-size: .75rem; color: var(--md-default-fg-color--light); flex-grow: 1; }

.cat-estado { font-size: .65rem; font-weight: 600; padding: .1rem .55rem; border-radius: 1rem; }
.cat-estado-activo     { background: #e3f4e8; color: #1b6e34; }
.cat-estado-desarrollo { background: #e4ecfb; color: #1f4fa3; }
.cat-estado-pausado    { background: #fdf1dc; color: #8a5a00; }
.cat-estado-retirado   { background: #eceff1; color: #546e7a; }
[data-md-color-scheme="slate"] .cat-estado-activo     { background: #1d3a26; color: #8fdca5; }
[data-md-color-scheme="slate"] .cat-estado-desarrollo { background: #1d2c4a; color: #9dbcf5; }
[data-md-color-scheme="slate"] .cat-estado-pausado    { background: #3d3018; color: #f2c879; }
[data-md-color-scheme="slate"] .cat-estado-retirado   { background: #2c3236; color: #b0bec5; }

.cat-tipo.cat-plat-rocketbot { color: #c2410c; }
.cat-tipo.cat-plat-salesiq   { color: #0e7490; }
.cat-tipo.cat-plat-python    { color: #4338ca; }
[data-md-color-scheme="slate"] .cat-tipo.cat-plat-rocketbot { color: #fdba74; }
[data-md-color-scheme="slate"] .cat-tipo.cat-plat-salesiq   { color: #67e8f9; }
[data-md-color-scheme="slate"] .cat-tipo.cat-plat-python    { color: #a5b4fc; }
.cat-tipo { font-weight: 700; }
.cat-meta code { font-size: .65rem; }

.cat-meta { display: grid; grid-template-columns: auto 1fr; gap: .1rem .6rem; margin: 0; font-size: .7rem; }
.cat-meta dt { color: var(--md-default-fg-color--light); margin: 0; }
.cat-meta dd { margin: 0; }

.cat-tags { display: flex; flex-wrap: wrap; gap: .3rem; }
.cat-tag { font-size: .62rem; padding: .05rem .45rem; border-radius: .3rem; background: var(--md-code-bg-color); color: var(--md-default-fg-color--light); }

.cat-links { display: flex; gap: .5rem; border-top: 1px solid var(--md-default-fg-color--lightest); padding-top: .5rem; margin-top: .2rem; }
.cat-links a { font-size: .7rem; font-weight: 600; }
.cat-sin-docs { font-size: .7rem; color: var(--md-default-fg-color--lighter); font-style: italic; }
.cat-vacio { text-align: center; color: var(--md-default-fg-color--light); }

.cat-seccion {
  margin: .9rem 0 .3rem;
  font-size: .62rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--md-default-fg-color--light);
}
.cat-pasos {
  margin: 0 0 .4rem;
  padding-left: 1.1rem;
  font-size: .7rem;
  line-height: 1.45;
}
.cat-pasos li { margin: 0 0 .2rem; }
.cat-nota {
  margin: .5rem 0 0;
  padding: .4rem .6rem;
  border-left: 3px solid var(--md-accent-fg-color);
  background: var(--md-code-bg-color);
  font-size: .65rem;
  line-height: 1.45;
  color: var(--md-default-fg-color--light);
}

