/* Catálogo em cards (16/10/2026) — peças genéricas `kipus/nivel_catalogo`, `kipus/grupo_catalogo`,
 * `kipus/cartao_catalogo` e `kipus/ficha_resumo`. Primeiro uso: o hub da Central de Matrizes, no desenho do
 * artefato do dono; a ficha-resumo é o cabeçalho das telas abertas por ele. */

/* Nível: título em caixa alta na cor da marca, com a linha até a borda. */
.kp-catalogo-nivel { display: flex; align-items: center; gap: .5rem; margin: 1.5rem 0 .15rem; }
.kp-catalogo-nivel:first-child { margin-top: 0; }
.kp-catalogo-nivel h2 { margin: 0; font-size: .74rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--kp-red); white-space: nowrap; }
.kp-catalogo-nivel::after { content: ""; flex: 1; height: 1px; background: color-mix(in srgb, var(--kp-red) 30%, transparent); }
.kp-catalogo-nivel-desc { font-size: .74rem; color: var(--bs-secondary-color); margin-bottom: .75rem; }

/* Grupo: sigla + nome à esquerda, o procedimento e a contagem à direita. */
.kp-catalogo-grupo { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .25rem 1rem; border-bottom: 1px solid var(--bs-border-color); padding-bottom: .4rem; margin: 1.1rem 0 .75rem; }
.kp-catalogo-grupo-nome { display: flex; align-items: baseline; gap: .4rem; font-size: .92rem; font-weight: 600; color: var(--bs-emphasis-color); }
.kp-catalogo-grupo-nome small { font-size: .7rem; font-weight: 700; color: var(--kp-red); }
.kp-catalogo-grupo-meta { font-size: .72rem; color: var(--bs-secondary-color); }
.kp-catalogo-grupo-meta a { font-weight: 600; text-decoration: none; }

/* Cards. */
.kp-catalogo-cartoes { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .65rem; }
.kp-catalogo-cartao { display: flex; flex-direction: column; min-height: 150px; padding: .7rem .75rem .6rem; background: var(--bs-body-bg); border-radius: .35rem; border-bottom: 2px solid var(--kp-red); box-shadow: 0 1px 3px rgba(0, 0, 0, .09); color: inherit; text-decoration: none; transition: transform .12s, box-shadow .12s; }
a.kp-catalogo-cartao:hover { transform: translateY(-2px); box-shadow: 0 4px 10px rgba(0, 0, 0, .12); color: inherit; }
.kp-catalogo-cartao-topo { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: .45rem; }
.kp-catalogo-cartao-topo svg { width: 42px; height: 42px; flex-shrink: 0; }
.kp-catalogo-cartao-codigo { font-size: .64rem; font-weight: 600; color: var(--bs-secondary-color); background: var(--bs-tertiary-bg); border-radius: .2rem; padding: .05rem .35rem; white-space: nowrap; }
.kp-catalogo-cartao h3 { margin: 0 0 .2rem; font-size: .8rem; font-weight: 600; line-height: 1.25; color: var(--bs-emphasis-color); }
.kp-catalogo-cartao p { margin: 0 0 .45rem; font-size: .7rem; line-height: 1.4; color: var(--bs-secondary-color); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.kp-catalogo-cartao-rodape { margin-top: auto; display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .4rem; font-size: .68rem; color: var(--bs-secondary-color); }
/* Sem tela ainda: apagado, sem link. */
.kp-catalogo-cartao.is-inativo { opacity: .55; border-bottom-color: var(--bs-border-color); box-shadow: none; outline: 1px dashed var(--bs-border-color); }
.kp-catalogo-cartao-selo { font-size: .62rem; font-weight: 700; border-radius: .2rem; padding: .05rem .35rem; background: var(--bs-secondary-bg); color: var(--bs-secondary-color); }

/* Ficha-resumo: rótulo pequeno em caixa alta sobre o valor, em grade. */
.kp-ficha-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .5rem 1rem; margin: 0 0 1rem; padding: .6rem .8rem; background: var(--bs-body-bg); border: 1px solid var(--bs-border-color); border-radius: .4rem; }
.kp-ficha-resumo span { display: block; font-size: .64rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: var(--bs-secondary-color); }
.kp-ficha-resumo b { font-size: .82rem; font-weight: 600; color: var(--bs-emphasis-color); }
