/* taso-inv - Catálogo (pantalla de gestión). Colores SOLO de tokens.css: sirve con cualquier paleta. */
.cat-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); }
.cat-item { display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 10px 14px; align-items: start; }
.cat-item > .btn2 { grid-column: 1 / -1; justify-self: start; }
.cat-info { min-width: 0; }
.cat-info h2 { margin: 0 0 6px; font-size: 1rem; overflow-wrap: anywhere; }
.cat-info p { margin: 6px 0 0; }
.cat-desc { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

.cat-foto { width: 88px; height: 88px; border-radius: var(--radius-field); object-fit: cover; background: var(--card-high); display: block; }
.cat-foto.sin, .cat-prev-img.sin { display: grid; place-items: center; font-weight: 600; color: var(--accent); background: var(--accent-soft); font-size: 2rem; }

/* foto dentro del cuadro de edición */
.cat-foto-zona { display: grid; gap: 10px; margin-bottom: 12px; }
.cat-prev { width: 100%; aspect-ratio: 4 / 3; border-radius: var(--radius-field); overflow: hidden; background: var(--card-high); display: grid; }
.cat-prev img, .cat-prev-img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cat-prev-img.sin { font-size: 3.5rem; }
.cat-subir { position: relative; cursor: pointer; }
.cat-subir:focus-within { outline: 2px solid var(--accent); outline-offset: 2px; }
