.tr-topo {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: .75rem;
    padding: 1.5rem;
    margin-bottom: 1.5rem;
}
.tr-topo h4 { font-weight: 700; color: #2e3362; margin-bottom: .5rem; }
.tr-topo p { color: #4a4f5c; margin-bottom: .75rem; }
.tr-destaque {
    display: inline-flex;
    align-items: baseline;
    gap: .5rem;
    background: #fff8e1;
    border-radius: .5rem;
    padding: .5rem .9rem;
    color: #6b5200;
}
.tr-destaque strong { font-size: 1.6rem; line-height: 1; color: #2d2f39; }
.tr-privacidade { font-size: .82rem; color: #7a7f8c; margin: .9rem 0 0; }

.tr-secao { margin-bottom: 1.75rem; }
.tr-secao > h5 { font-weight: 700; color: #2d2f39; margin-bottom: .2rem; }
.tr-secao > .tr-ajuda { font-size: .88rem; color: #7a7f8c; margin-bottom: .9rem; }

.tr-trilha {
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: .75rem;
}
.tr-etapa {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-top: 4px solid var(--tr-cor);
    border-radius: .6rem;
    padding: 1rem;
    position: relative;
}
.tr-etapa:not(:last-child)::after {
    content: "\f054";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    right: -.62rem;
    top: 1.6rem;
    font-size: .7rem;
    color: #b3b8c4;
    z-index: 1;
}
.tr-etapa-numero { font-size: .72rem; font-weight: 700; color: #9aa0ad; text-transform: uppercase; letter-spacing: .05em; }
.tr-etapa-titulo { font-weight: 700; color: #2d2f39; margin: .15rem 0 .5rem; display: flex; align-items: center; gap: .4rem; }
.tr-etapa-titulo i { color: var(--tr-cor); }
.tr-etapa-total { font-size: 1.9rem; font-weight: 800; line-height: 1; color: var(--tr-cor); }
.tr-etapa-texto { font-size: .8rem; color: #6c717d; margin: .5rem 0 0; }
.tr-etapa.fila { --tr-cor: #e0a800; }
.tr-etapa.separado { --tr-cor: #17a2b8; }
.tr-etapa.oferecida { --tr-cor: #2e3362; }
.tr-etapa.documentos { --tr-cor: #fd7e14; }
.tr-etapa.matriculado { --tr-cor: #009035; }

.tr-aviso {
    margin-top: .75rem;
    font-size: .85rem;
    color: #4a4f5c;
    background: #f4f5f9;
    border-radius: .5rem;
    padding: .6rem .9rem;
}

.tr-barras { list-style: none; padding: 0; margin: 0; }
.tr-barras li {
    display: grid;
    grid-template-columns: minmax(8rem, 14rem) 1fr 3.5rem;
    align-items: center;
    gap: .75rem;
    padding: .35rem 0;
}
.tr-barras .tr-rotulo { font-size: .88rem; color: #2d2f39; }
.tr-barras .tr-trilho { background: #f0f2f7; border-radius: 1rem; height: .75rem; overflow: hidden; }
.tr-barras .tr-preenchido { background: #e0a800; height: 100%; border-radius: 1rem; }
.tr-barras .tr-valor { font-weight: 700; text-align: right; color: #2d2f39; }

.tr-escolas { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .75rem; }
.tr-escola {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: .6rem;
    padding: .9rem 1rem;
}
.tr-escola-topo { display: flex; justify-content: space-between; gap: .5rem; align-items: flex-start; margin-bottom: .5rem; }
.tr-escola-nome { font-weight: 700; color: #2d2f39; font-size: .92rem; }
.tr-escola-total { white-space: nowrap; font-size: .8rem; color: #6b5200; background: #fff8e1; border-radius: 1rem; padding: .1rem .55rem; }
.tr-escola ul { list-style: none; padding: 0; margin: 0; }
.tr-escola li { display: flex; justify-content: space-between; font-size: .85rem; color: #4a4f5c; padding: .2rem 0; border-top: 1px dashed #eef0f5; }
.tr-escola li strong { color: #2d2f39; }

.tr-criterios { list-style: none; padding: 0; margin: 0; counter-reset: criterio; }
.tr-criterios li {
    display: flex;
    gap: .9rem;
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: .6rem;
    padding: .8rem 1rem;
    margin-bottom: .5rem;
}
.tr-criterio-ordem {
    flex: 0 0 2rem;
    height: 2rem;
    border-radius: 50%;
    background: #2e3362;
    color: #fff;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
}
.tr-criterio-nome { font-weight: 700; color: #2d2f39; }
.tr-criterio-descricao { font-size: .85rem; color: #6c717d; }
.tr-criterio-frente { font-size: .85rem; color: #009035; margin-top: .15rem; }

.tr-duvidas details {
    background: #fff;
    border: 1px solid #e6e8ef;
    border-radius: .6rem;
    padding: .75rem 1rem;
    margin-bottom: .5rem;
}
.tr-duvidas summary { font-weight: 600; color: #2e3362; cursor: pointer; }
.tr-duvidas details p { margin: .6rem 0 0; font-size: .88rem; color: #4a4f5c; }

.tr-vazio { text-align: center; color: #9aa0ad; padding: 1rem 0; margin: 0; }

@media (max-width: 991px) {
    .tr-trilha { grid-template-columns: 1fr 1fr; }
    .tr-etapa::after { display: none; }
}
@media (max-width: 575px) {
    .tr-trilha { grid-template-columns: 1fr; }
    .tr-barras li { grid-template-columns: 1fr 3rem; }
    .tr-barras .tr-trilho { grid-column: 1 / -1; grid-row: 2; }
}
