/* Painel público dos embargos ambientais no STF (/embargos-ambientais-stf/).
   Tudo sob .stf, para não vazar para o resto do site. Cores dos dados validadas
   para daltonismo (scripts/validate_palette, 05/11/2026), e nenhum dado depende só
   da cor: cada sentido tem forma e palavra. Texto corrido é justificado com
   hifenização, a regra do site. */

.stf {
    --stf-verde: #127A5C;
    --stf-laranja: #D66A1F;
    --stf-azul: #4F79B5;
    --stf-oliva: #8C8A2B;
    --stf-fundo: #123428;
    --stf-tinta: #22302B;
    --stf-suave: #5A6A63;
    --stf-linha: #E3E9E6;
    --stf-claro: #F5F8F6;
    color: var(--stf-tinta);
    font-size: 1rem;
    line-height: 1.6;
}

.stf h1, .stf h2, .stf h3 { font-family: 'PT Serif', Georgia, serif; font-weight: 400; color: var(--stf-tinta); }
.stf h2 { font-size: 2rem; margin: 0 0 .75rem; }
.stf h3 { font-size: 1.3rem; margin: 2rem 0 .75rem; }
.stf h4 { font-family: 'Inter', system-ui, sans-serif; font-size: .75rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--stf-suave); margin: 1.75rem 0 .6rem; }
.stf small { font-size: .78rem; color: var(--stf-suave); }
.stf a { color: #14523D; }
.stf a:hover { color: var(--stf-verde); }
.stf q { quotes: '“' '”'; font-style: italic; }
.stf-cont { max-width: 1240px; margin: 0 auto; padding: 0 1.5rem; }
.stf-sec { padding: 3.5rem 0; }
.stf-intro { color: var(--stf-suave); max-width: 780px; margin: 0 0 1.25rem; }
.stf-texto p { text-align: justify; -webkit-hyphens: auto; hyphens: auto; max-width: 860px; }
.stf-texto p + p { margin-top: .9rem; }
.stf-nota { font-size: .85rem; color: var(--stf-suave); margin-top: 1rem; max-width: 860px; }
.stf-rolagem { overflow-x: auto; -webkit-overflow-scrolling: touch; }

/* Entrada ao rolar. Só com JavaScript ligado: sem ele nada fica escondido. */
.stf-js .stf-rev { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.stf-js .stf-rev.on { opacity: 1; transform: none; }

/* ===== Topo ===== */
.stf-hero { background: var(--stf-fundo); color: #fff; padding: 2.25rem 0 2.75rem; }
.stf-hero h1 { color: #fff; font-size: 2.9rem; line-height: 1.15; margin: .6rem 0 .75rem; }
.stf-sub { color: #CFDDD6; font-size: 1.1rem; max-width: 760px; margin: 0; }
.stf-migalha, .stf-migalha a, .stf-migalha span { color: #A9BFB5; font-size: .8rem; }
.stf-migalha .breadcrumbs, .stf-migalha nav { margin: 0; padding: 0; background: none; }
.stf-ao-vivo { margin: 1rem 0 0; font-size: .85rem; color: #DCE8E2; }
.stf-ao-vivo i { display: inline-block; margin-right: .5rem; vertical-align: 1px; width: 9px; height: 9px; border-radius: 50%; background: #3DDC97; box-shadow: 0 0 0 0 rgba(61, 220, 151, .6); animation: stf-pulso 2s infinite; }
.stf-ao-vivo.parado i { background: #C9B458; animation: none; }
@keyframes stf-pulso { 0% { box-shadow: 0 0 0 0 rgba(61, 220, 151, .55); } 70% { box-shadow: 0 0 0 9px rgba(61, 220, 151, 0); } 100% { box-shadow: 0 0 0 0 rgba(61, 220, 151, 0); } }

.stf-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; margin-top: 2rem; background: rgba(255, 255, 255, .14); border: 1px solid rgba(255, 255, 255, .14); border-radius: 6px; overflow: hidden; }
.stf a.stf-kpi { background: var(--stf-fundo); padding: 1.1rem 1.25rem; display: block; transition: background .2s; }
.stf a.stf-kpi:hover { background: #1A4436; }
.stf-kpi strong { display: block; font-family: 'PT Serif', Georgia, serif; font-size: 2.6rem; font-weight: 400; line-height: 1.1; color: #fff; }
.stf-kpi span { color: #BFD0C8; font-size: .85rem; }
.stf a.stf-kpi.forte { background: #1B4A3A; }

/* ===== Navegação interna ===== */
.stf-nav { position: sticky; top: 64px; z-index: 50; background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--stf-linha); }
.stf-nav .stf-cont { display: flex; gap: 1.5rem; overflow-x: auto; scrollbar-width: none; }
.stf-nav .stf-cont::-webkit-scrollbar { display: none; }
.stf-nav a { padding: .8rem 0; font-size: .82rem; font-weight: 500; white-space: nowrap; color: var(--stf-suave); border-bottom: 2px solid transparent; }
.stf-nav a:hover, .stf-nav a.on { color: var(--stf-tinta); border-bottom-color: var(--stf-verde); }
.stf section[id] { scroll-margin-top: 112px; }
.stf details.stf-proc { scroll-margin-top: 120px; }

.stf-panorama { padding: 2.5rem 0 0; }

/* ===== Agora ===== */
.stf-agora { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 2rem; align-items: start; }
.stf-cartoes { display: grid; gap: 1rem; }
.stf a.stf-cartao { display: block; padding: 1.25rem 1.4rem; border: 1px solid var(--stf-linha); border-left: 3px solid var(--stf-suave); border-radius: 6px; color: var(--stf-tinta); transition: box-shadow .2s, transform .2s; }
.stf a.stf-cartao:hover { color: var(--stf-tinta); box-shadow: 0 6px 22px rgba(18, 52, 40, .09); transform: translateY(-2px); }
.stf-cartao h3 { margin: .15rem 0 .1rem; font-size: 1.35rem; }
.stf-cartao p { margin: 0 0 .45rem; font-size: .92rem; }
.stf-cartao-aut { color: var(--stf-suave); }
.stf-cartao-tipo { display: flex; align-items: center; gap: .5rem; font-size: .74rem !important; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--stf-suave); }
.stf-cartao-tipo span { font-weight: 500; letter-spacing: 0; text-transform: none; }
.stf-cartao-tipo i { width: 8px; height: 8px; border-radius: 50%; background: var(--stf-suave); }
.stf-c-em-julgamento { border-left-color: var(--stf-verde); }
.stf-c-em-julgamento .stf-cartao-tipo i { background: var(--stf-verde); animation: stf-pulso-v 1.8s infinite; }
.stf-c-pautado { border-left-color: var(--stf-laranja); }
.stf-c-pautado .stf-cartao-tipo i { background: var(--stf-laranja); }
@keyframes stf-pulso-v { 0% { box-shadow: 0 0 0 0 rgba(18, 122, 92, .5); } 70% { box-shadow: 0 0 0 8px rgba(18, 122, 92, 0); } 100% { box-shadow: 0 0 0 0 rgba(18, 122, 92, 0); } }

.stf-feed h3 { margin-top: 0; }
.stf-feed ul { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--stf-linha); }
.stf-feed li { position: relative; padding: 0 0 .75rem 1rem; font-size: .87rem; line-height: 1.4; }
.stf-feed li::before { content: ''; position: absolute; left: -4px; top: .45rem; width: 7px; height: 7px; border-radius: 50%; background: #B9C6C0; }
.stf-feed li.stf-m-voto::before { background: var(--stf-verde); }
.stf-feed time { display: block; font-size: .75rem; color: var(--stf-suave); }
.stf-feed a { color: var(--stf-tinta); }

/* ===== Selos ===== */
.stf-sent, .stf-vence { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 500; color: var(--stf-tinta); white-space: nowrap; }
.stf-sent i, .stf-vence i { flex: none; width: 10px; height: 10px; background: var(--stf-suave); }
.stf-s-cai i { background: var(--stf-verde); border-radius: 50%; }
.stf-s-mantem i { background: var(--stf-laranja); transform: rotate(45deg); }
.stf-s-obice i { background: var(--stf-azul); border-radius: 2px; }
.stf-s-nao, .stf-nao { color: #9AA8A1; font-size: .8rem; }
.stf-v-ibama i { background: var(--stf-laranja); transform: rotate(45deg); }
.stf-v-autuado i { background: var(--stf-verde); border-radius: 50%; }
.stf-v-obice i { background: var(--stf-azul); border-radius: 2px; }
.stf-v-trf1 i { background: var(--stf-oliva); clip-path: polygon(50% 0, 100% 100%, 0 100%); }
.stf-legenda { display: flex; flex-wrap: wrap; gap: 1.25rem; margin: 0 0 1rem; }

.stf-sit { display: inline-block; font-size: .8rem; font-weight: 600; }
.stf-sit-em-julgamento { color: #0E6349; }
.stf-sit-em-julgamento::before { content: ''; display: inline-block; width: 7px; height: 7px; margin-right: .4rem; border-radius: 50%; background: var(--stf-verde); animation: stf-pulso-v 1.8s infinite; vertical-align: 1px; }
.stf-sit-pautado { color: #A54C10; }
.stf-tag { font-size: .72rem; padding: .05rem .5rem; border: 1px solid var(--stf-linha); border-radius: 999px; color: var(--stf-suave); white-space: nowrap; }

.stf-res { display: inline-block; font-size: .78rem; font-weight: 600; padding: .12rem .6rem; border-radius: 3px; }
.stf-res-favoravel { background: #E2F2EC; color: #0C5A43; }
.stf-res-desfavoravel { background: #FBEADF; color: #8F420E; }

/* ===== Filtros ===== */
.stf-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0 0 1rem; }
.stf-filtros input[type=search], .stf-filtros select { height: 40px; font: inherit; font-size: .87rem; color: var(--stf-tinta); background: #fff; border: 1px solid #CFD9D4; border-radius: 4px; padding: 0 .7rem; }
.stf-filtros input[type=search] { flex: 1 1 320px; min-width: 0; }
.stf-filtros select { flex: 0 1 190px; min-width: 0; }
.stf-chips { display: inline-flex; flex-wrap: wrap; gap: .3rem; }
.stf-chips button { height: 40px; padding: 0 .85rem; font: inherit; font-size: .84rem; color: var(--stf-suave); background: #fff; border: 1px solid #CFD9D4; border-radius: 4px; cursor: pointer; transition: all .15s; }
.stf-chips button:hover { border-color: var(--stf-verde); color: var(--stf-tinta); }
.stf-chips button.on { background: var(--stf-fundo); border-color: var(--stf-fundo); color: #fff; }
.stf-chips-inc { margin-bottom: 1rem; }
.stf-conta { width: 100%; margin: .1rem 0 0; font-size: .82rem; color: var(--stf-suave); }

/* ===== Lista de processos ===== */
.stf-cab, .stf-proc > summary { display: grid; grid-template-columns: minmax(150px, 1.05fr) minmax(0, 2.1fr) minmax(130px, 1fr) minmax(150px, 1fr) minmax(150px, 1.15fr); gap: 1rem; }
.stf-cab { padding: 0 1rem .5rem; font-size: .72rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--stf-suave); border-bottom: 2px solid var(--stf-tinta); }
.stf-proc { border-bottom: 1px solid var(--stf-linha); }
.stf-proc[hidden] { display: none; }
.stf-proc > summary { list-style: none; padding: .9rem 1rem; cursor: pointer; align-items: start; font-size: .9rem; transition: background .15s; }
.stf-proc > summary::-webkit-details-marker { display: none; }
.stf-proc > summary:hover { background: var(--stf-claro); }
.stf-proc[open] > summary { background: var(--stf-claro); }
.stf-proc > summary small { display: block; line-height: 1.35; margin-top: .1rem; overflow-wrap: anywhere; }
.stf-c-proc strong { position: relative; padding-left: 1rem; font-weight: 600; }
.stf-c-proc strong::before { content: ''; position: absolute; left: 0; top: .45em; border: 4.5px solid transparent; border-left: 6px solid var(--stf-suave); transition: transform .2s; transform-origin: 3px 4.5px; }
.stf-proc[open] .stf-c-proc strong::before { transform: rotate(90deg); }
.stf-c-proc small { padding-left: 1rem; }
.stf-c-aut strong { font-weight: 500; }

.stf-ficha { padding: 1.25rem 1rem 1.75rem; background: var(--stf-claro); animation: stf-abre .25s ease; }
@keyframes stf-abre { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
.stf-trilha { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); list-style: none; margin: 0 0 1.25rem; padding: 0; counter-reset: etapa; }
.stf-trilha li { position: relative; padding-top: 1.1rem; font-size: .74rem; line-height: 1.25; color: #93A29B; }
.stf-trilha li::before { content: ''; position: absolute; top: 3px; left: 0; right: 0; height: 2px; background: #D6DFDB; }
.stf-trilha li::after { content: ''; position: absolute; top: 0; left: 0; width: 8px; height: 8px; border-radius: 50%; background: #D6DFDB; }
.stf-trilha li.feita { color: var(--stf-tinta); }
.stf-trilha li.feita::before, .stf-trilha li.feita::after { background: var(--stf-verde); }
.stf-trilha li.atual::after { box-shadow: 0 0 0 4px rgba(18, 122, 92, .2); }
.stf-trilha li span { display: block; font-weight: 500; }
.stf-trilha li time { font-size: .7rem; }

.stf-resumo-proc { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: .35rem 1rem; margin: 0; font-size: .9rem; }
.stf-resumo-proc dt { color: var(--stf-suave); }
.stf-resumo-proc dd { margin: 0; }

.stf-sessao { background: #fff; border: 1px solid var(--stf-linha); border-radius: 6px; padding: .85rem 1rem; margin-bottom: .75rem; }
.stf-sessao-tit { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .75rem; margin: 0 0 .25rem; font-size: .88rem; }
.stf-sessao-tit span { color: var(--stf-suave); font-size: .8rem; }
.stf-sessao-txt { margin: 0 0 .5rem; font-size: .88rem; }
.stf-pecas { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .9rem; margin: .4rem 0 0; font-size: .8rem; }
.stf-peca { text-decoration: underline; text-underline-offset: 2px; }
.stf-fonte { margin-top: 1.1rem; color: var(--stf-suave); }

.stf-tab { width: 100%; border-collapse: collapse; font-size: .85rem; }
.stf-tab th, .stf-tab td { padding: .55rem .7rem; text-align: left; vertical-align: top; border-bottom: 1px solid var(--stf-linha); }
.stf-tab thead th { font-size: .72rem; font-weight: 600; letter-spacing: .05em; text-transform: uppercase; color: var(--stf-suave); border-bottom: 2px solid var(--stf-tinta); white-space: nowrap; }
.stf-tab tbody th { font-weight: 500; }
.stf-tab-votos td small { display: inline; }

.stf-decisoes, .stf-atos, .stf-andamentos ul { list-style: none; margin: 0; padding: 0; }
.stf-decisoes li { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 1rem; padding: .6rem 0; border-bottom: 1px solid var(--stf-linha); font-size: .88rem; }
.stf-decisoes p { margin: 0 0 .2rem; }
.stf-decisoes strong { margin-right: .5rem; font-weight: 600; }
.stf-decisoes time, .stf-andamentos time, .stf-atos time { font-size: .8rem; color: var(--stf-suave); }

.stf-andamentos { margin-top: 1.25rem; }
.stf-andamentos > summary, .stf-min details > summary { cursor: pointer; font-size: .85rem; font-weight: 500; color: #14523D; }
.stf-andamentos ul { margin-top: .6rem; max-height: 420px; overflow-y: auto; border-top: 1px solid var(--stf-linha); }
.stf-andamentos li { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 1rem; padding: .4rem 0; border-bottom: 1px solid var(--stf-linha); font-size: .84rem; }
.stf-andamentos li strong { font-weight: 500; margin-right: .5rem; }
.stf-andamentos li span { color: var(--stf-suave); margin-right: .6rem; }
.stf-andamentos .stf-peca { margin-right: .6rem; font-size: .8rem; }

/* ===== Gráficos ===== */
.stf-graficos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 2.5rem; }
.stf-fig { margin: 0; min-width: 0; }
.stf-fig-larga { grid-column: 1 / -1; }
.stf-fig figcaption { font-size: .92rem; font-weight: 600; margin-bottom: .75rem; }
.stf-seg { display: flex; gap: 2px; height: 26px; }
.stf-seg span { display: block; height: 100%; flex: 0 0 auto; width: 0; transition: width 1s cubic-bezier(.2, .7, .2, 1); }
.stf-seg span:first-child { border-radius: 4px 0 0 4px; }
.stf-seg span:last-child { border-radius: 0 4px 4px 0; }
.stf-chave { display: flex; flex-wrap: wrap; gap: .4rem 1.5rem; margin: .7rem 0 0; padding: 0; list-style: none; font-size: .84rem; }
.stf-chave b { font-weight: 600; margin-left: .15rem; }
.stf-barras { display: grid; gap: .55rem; }
.stf-barra { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: .75rem; align-items: center; font-size: .84rem; }
.stf-barra div { display: flex; align-items: center; gap: .4rem; }
.stf-barra em { font-style: normal; display: block; height: 16px; width: 0; background: var(--stf-verde); border-radius: 0 4px 4px 0; transition: width .9s cubic-bezier(.2, .7, .2, 1); }
.stf-barra b { font-weight: 600; }
.stf-svg { display: block; width: 100%; height: auto; }
.stf-svg text { font-family: 'Inter', system-ui, sans-serif; font-size: 11px; fill: var(--stf-suave); }
.stf-svg .forte { fill: var(--stf-tinta); font-weight: 500; font-size: 12px; }
.stf-svg .grade { stroke: var(--stf-linha); stroke-width: 1; }
.stf-svg [data-tip] { cursor: pointer; }
.stf-raias-svg { min-width: 760px; }
.stf-tip { position: fixed; z-index: 2000; max-width: 280px; padding: .45rem .65rem; font-size: .78rem; line-height: 1.35; color: #fff; background: #17332A; border-radius: 4px; pointer-events: none; opacity: 0; transition: opacity .12s; }
.stf-tip.on { opacity: 1; }

/* ===== Quadro de votos ===== */
.stf-grade th:first-child { min-width: 240px; }
.stf-grade td { min-width: 150px; }
.stf-grade td small, .stf-grade th small { display: block; }
.stf-grade tbody tr:hover { background: var(--stf-claro); }

/* ===== Incongruências ===== */
.stf-incs { min-width: 920px; }
.stf-incs tbody th { min-width: 110px; font-weight: 600; }
.stf-incs td { min-width: 200px; }
.stf-incs td time { display: block; font-weight: 600; font-size: .84rem; }
.stf-incs td a { display: block; font-size: .82rem; }
.stf-incs td span { display: block; margin-top: .15rem; }
.stf-incs .stf-dist { min-width: 84px; font-weight: 600; white-space: nowrap; }
.stf-incs tr[hidden] { display: none; }
.stf-incs td small { display: block; margin-top: .25rem; }
.stf-grau { font-size: .74rem; font-weight: 600; }
.stf-g-direta { color: #8F420E; }
.stf-g-ressalva { color: #3C5F92; }
.stf-g-processual { color: var(--stf-suave); }
.stf-falhas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.stf-falhas > div { padding: 1rem 1.2rem; border: 1px solid var(--stf-linha); border-radius: 6px; }
.stf-falhas h4 { margin: 0; color: var(--stf-tinta); text-transform: none; letter-spacing: 0; font-size: .95rem; }
.stf-falhas p { margin: .35rem 0 0; font-size: .88rem; text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
.stf-falhas .stf-falha-min { color: var(--stf-suave); font-size: .8rem; text-align: left; }

/* ===== Ministros ===== */
.stf-ministros { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; margin-top: 1.75rem; }
.stf-min { padding: 1.1rem 1.25rem; border: 1px solid var(--stf-linha); border-radius: 6px; scroll-margin-top: 120px; }
.stf-min h3 { margin: 0; font-size: 1.2rem; }
.stf-min-turma { margin: .1rem 0 .5rem; font-size: .8rem; color: var(--stf-suave); }
.stf-min-res { margin: 0 0 .65rem; font-size: .88rem; text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
.stf-min-conta { list-style: none; margin: 0 0 .6rem; padding: 0; }
.stf-min-conta li { display: flex; justify-content: space-between; padding: .15rem 0; }
.stf-min-conta b { font-weight: 600; font-size: .9rem; }
.stf-atos { margin-top: .5rem; max-height: 320px; overflow-y: auto; }
.stf-atos li { display: grid; grid-template-columns: 82px minmax(0, 1fr); gap: .5rem; padding: .35rem 0; border-bottom: 1px solid var(--stf-linha); font-size: .82rem; }
.stf-atos small { display: block; }

.stf-placar-enc { display: flex; gap: 2.5rem; margin: 0 0 1.25rem; }
.stf-enc-n { display: flex; align-items: center; gap: .6rem; margin: 0; }
.stf-enc-n strong { font-family: 'PT Serif', Georgia, serif; font-weight: 400; font-size: 2.4rem; line-height: 1; }
.stf-encerrados { background: var(--stf-claro); }
.stf-encerrados .stf-proc[open] > summary, .stf-encerrados .stf-proc > summary:hover { background: #EAF0ED; }
.stf-encerrados .stf-ficha { background: #fff; }
.stf-cab-enc, .stf-proc-enc > summary { grid-template-columns: minmax(150px, 1fr) minmax(0, 2.1fr) minmax(130px, 1fr) minmax(150px, 1fr) minmax(90px, .7fr); }

/* ===== Card do caso ===== */
.stf-sem-rolar { overflow: hidden; }
.stf-dialogo { width: min(960px, 96vw); max-height: 92vh; margin: auto; padding: 0; border: 0; border-radius: 8px; color: var(--stf-tinta); background: #fff; box-shadow: 0 24px 70px rgba(10, 30, 22, .35); overflow: hidden; }
.stf-dialogo[open] { display: flex; flex-direction: column; animation: stf-card-entra .22s ease; }
.stf-dialogo::backdrop { background: rgba(10, 30, 22, .55); }
@keyframes stf-card-entra { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
.stf-dialogo-barra { flex: none; display: flex; justify-content: space-between; gap: .5rem; padding: .55rem .9rem; background: var(--stf-fundo); }
.stf-dialogo-barra button { height: 34px; padding: 0 .9rem; font: inherit; font-size: .84rem; color: #fff; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); border-radius: 4px; cursor: pointer; }
.stf-dialogo-barra button:hover { background: rgba(255, 255, 255, .2); }
.stf-fechar { margin-left: auto; }
.stf-dialogo-corpo { flex: 1 1 auto; min-height: 0; overflow-y: auto; -webkit-overflow-scrolling: touch; }
.stf-ficha.no-card, .stf-min.no-card { padding: 1.5rem 1.75rem 2rem; background: #fff; border: 0; animation: none; }
.stf-card-cab { padding-bottom: 1rem; border-bottom: 1px solid var(--stf-linha); margin-bottom: 1rem; }
.stf-card-cab h3 { margin: .15rem 0 .1rem; font-size: 1.75rem; }
.stf-card-sit { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.stf-card-aut { margin: 0; color: var(--stf-suave); }
.stf-card-dados { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: .5rem 1.25rem; margin: .9rem 0 0; }
.stf-card-dados dt { font-size: .72rem; letter-spacing: .05em; text-transform: uppercase; color: var(--stf-suave); }
.stf-card-dados dd { margin: 0; font-size: .92rem; font-weight: 500; }
.stf-card-agora { padding: .9rem 1.1rem; margin-bottom: 1.25rem; background: var(--stf-claro); border-left: 3px solid var(--stf-verde); border-radius: 0 6px 6px 0; }
.stf-card-agora h4 { margin-top: 0; }
.stf-card-agora p { margin: 0; }
.stf-just { text-align: justify; -webkit-hyphens: auto; hyphens: auto; margin: 0; }
.stf-ementa { margin-top: .75rem; font-size: .87rem; }
.stf-ementa > summary { cursor: pointer; font-weight: 500; color: #14523D; }
.stf-ementa p { margin-top: .5rem; color: var(--stf-suave); }
.stf-lk { text-decoration: underline; text-decoration-color: #BFD0C8; text-underline-offset: 2px; }
.stf-lk:hover { text-decoration-color: currentColor; }
.stf-linha { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--stf-linha); }
.stf-linha li { position: relative; display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: .75rem; padding: 0 0 .9rem 1rem; font-size: .88rem; }
.stf-linha li::before { content: ''; position: absolute; left: -4px; top: .4rem; width: 7px; height: 7px; border-radius: 50%; background: #B9C6C0; }
.stf-linha li.stf-l-decisao::before, .stf-linha li.stf-l-sessao::before { background: var(--stf-verde); }
.stf-linha time { font-size: .8rem; color: var(--stf-suave); }
.stf-linha p { margin: 0 0 .2rem; }
.stf-l-tit { font-weight: 500; }
.stf-l-tit small { margin-left: .35rem; font-weight: 400; }
.stf-min-rel { margin: 0 0 .6rem; font-size: .82rem; color: var(--stf-suave); }
.stf-min-incs { display: none; }
.stf-min.no-card .stf-min-incs { display: block; }
.stf-min-incs ul { margin: 0 0 1rem; padding-left: 1rem; font-size: .86rem; }
.stf-min-incs li { margin-bottom: .45rem; }
.stf-min.no-card h3 { font-size: 1.75rem; }
.stf-min.no-card h3 a { text-decoration: none; color: inherit; pointer-events: none; }
.stf-min.no-card .stf-atos { max-height: none; }
.stf-pediu { color: var(--stf-tinta); font-weight: 600; }
.stf a.stf-enc-n { color: var(--stf-tinta); }
.stf-c-proc a { color: var(--stf-tinta); }
.stf-c-proc a:hover { color: var(--stf-verde); }
.stf-seg span[data-stf-filtro], .stf-barra[data-stf-filtro] { cursor: pointer; }
.stf-seg span[data-stf-filtro]:hover { filter: brightness(1.12); }
.stf-barra[data-stf-filtro]:hover span { color: var(--stf-verde); }
.stf-svg rect[role=link] { cursor: pointer; }
.stf-svg rect[role=link]:hover { filter: brightness(1.12); }
.stf a.stf-kpi:focus-visible, .stf-seg span:focus-visible, .stf-barra:focus-visible, .stf-svg [role=link]:focus-visible { outline: 2px solid #3DDC97; outline-offset: 2px; }

@media (max-width: 640px) {
    .stf-dialogo { width: 100vw; max-width: 100vw; max-height: 100dvh; height: 100dvh; border-radius: 0; }
    .stf-ficha.no-card, .stf-min.no-card { padding: 1.1rem 1rem 1.75rem; }
    .stf-linha li { grid-template-columns: minmax(0, 1fr); gap: 0; }
}

@media (max-width: 960px) {
    .stf-agora, .stf-graficos, .stf-falhas { grid-template-columns: minmax(0, 1fr); }
    .stf-ministros { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stf-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .stf-cab, .stf-cab-enc { display: none; }
    .stf-proc > summary, .stf-proc-enc > summary { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem 1rem; }
    .stf-c-aut { grid-column: 1 / -1; order: 2; }
    .stf-c-proc { order: 1; grid-column: 1 / -1; }
    .stf-c-rel { order: 3; }
    .stf-c-ven { order: 4; }
    .stf-c-sit { order: 5; grid-column: 1 / -1; }
    .stf-trilha { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: .6rem; }
    .stf-resumo-proc { grid-template-columns: minmax(0, 1fr); }
    .stf-resumo-proc dt { margin-top: .4rem; }
}

@media (max-width: 640px) {
    .stf-cont { padding: 0 1rem; }
    .stf-sec { padding: 2.5rem 0; }
    .stf-hero h1 { font-size: 2.1rem; }
    .stf h2 { font-size: 1.6rem; }
    .stf-sub { font-size: 1rem; }
    .stf-ministros { grid-template-columns: minmax(0, 1fr); }
    .stf-kpi { padding: .8rem .9rem; }
    .stf-kpi strong { font-size: 2rem; }
    .stf-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .stf-kpi.forte { grid-column: 1 / -1; }
    .stf-barra { grid-template-columns: 120px minmax(0, 1fr); }
    .stf-decisoes li, .stf-andamentos li { grid-template-columns: minmax(0, 1fr); gap: .1rem; }
    .stf-filtros select { flex: 1 1 100%; }
    .stf-chips button { padding: 0 .6rem; }
    .stf-nav { top: 58px; }
    .stf-placar-enc { gap: 1.5rem; flex-wrap: wrap; }
}

@media (prefers-reduced-motion: reduce) {
    .stf-js .stf-rev { opacity: 1; transform: none; transition: none; }
    .stf-ao-vivo i, .stf-c-em-julgamento .stf-cartao-tipo i, .stf-sit-em-julgamento::before { animation: none; }
    .stf-seg span, .stf-barra em, .stf-ficha { transition: none; animation: none; }
}
