/* ==========================================================================
   Ponte (22/10/2026, pedido dele: "trazer a estética da nave para o app todo"): carregado por último, depois do observatorio.css.
   Uma linguagem só, a da ponte da Tripulação: painéis de console (borda fina, fundo azul-noite com brilho no topo),
   rótulos mono em caixa alta, leds, mostradores e números de instrumento. Para voltar ao visual anterior: tirar o <link> do index.html.
   Classes novas prefixadas com pt-. As antigas (h-*, metrica, painel, abas-numeros...) ganham a pele aqui, sem mudar o HTML.
   ========================================================================== */
:root {
  --pt-painel: linear-gradient(180deg, rgba(27, 36, 82, .72) 0, rgba(12, 18, 50, .78) 100%);
  --pt-painel-2: linear-gradient(180deg, rgba(20, 28, 66, .6), rgba(9, 14, 40, .66));
  --pt-borda: rgba(143, 134, 232, .22);
  --pt-borda-2: rgba(241, 231, 207, .12);
  --pt-brilho-topo: inset 0 1px 0 rgba(255, 255, 255, .07);
  --pt-sombra: 0 14px 40px rgba(0, 0, 0, .28);
  --pt-led-on: #5FE0A0;
  --pt-raio: 16px;
}

/* ---------- componentes de base (usados pelas telas novas e emprestados às antigas) ---------- */
.pt-console, .pt-instr, .pt-alvo, .pt-grupo, .pt-ajuda, .pt-astra { background: var(--pt-painel); border: 1px solid var(--pt-borda); border-radius: var(--pt-raio); box-shadow: var(--pt-brilho-topo), var(--pt-sombra); }
.pt-rot, .pt-sec-cab span { font: 500 10.5px/1.3 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--o-tinta-3); }
.pt-led-v { display: inline-block; width: 7px; height: 7px; margin-right: 9px; border-radius: 50%; background: var(--pt-led-on); box-shadow: 0 0 9px var(--pt-led-on); vertical-align: 1px; animation: pt-pisca 3s ease-in-out infinite; }
@keyframes pt-pisca { 0%, 100% { opacity: 1; } 50% { opacity: .35; } }
@media (prefers-reduced-motion: reduce) { .pt-led-v, .pt-cursor, .pt-led.f-apagando, .h-agora::after { animation: none !important; } }
.pt-led { display: inline-block; flex: none; width: 10px; height: 10px; border-radius: 50%; background: #2a3466; }
.pt-led.f-nebulosa { background: radial-gradient(circle, #9a8cf5 0, rgba(154, 140, 245, .15) 80%); box-shadow: 0 0 6px rgba(154, 140, 245, .5); }
.pt-led.f-protoestrela { background: transparent; border: 1.5px solid #EFE5CA; box-shadow: 0 0 6px rgba(239, 229, 202, .35); }
.pt-led.f-acesa { background: #FFE9B0; box-shadow: 0 0 9px 1px rgba(255, 224, 150, .7); }
.pt-led.f-firme { background: #fff; box-shadow: 0 0 12px 3px rgba(255, 236, 190, .85); }
.pt-led.f-apagando { background: #D98F4E; box-shadow: 0 0 7px rgba(217, 143, 78, .6); animation: pt-pisca 2.4s ease-in-out infinite; }

/* cabeçalho de tela, comum a Hoje, Prova e Números */
.h-cab { position: relative; }
.h-cab > .o-rotulo { display: flex; align-items: center; }
.pt-cab h1 em, .h-cab h1 em { font-style: italic; color: var(--o-luz); }
.pt-cab .p-sub { margin-top: 0; }

/* seção de painel: cabeçalho com título e legenda mono */
.pt-sec { margin-top: var(--esp-6); }
.pt-sec-cab { display: flex; align-items: baseline; justify-content: space-between; gap: var(--esp-3); flex-wrap: wrap; padding-bottom: var(--esp-3); margin-bottom: var(--esp-4); border-bottom: 1px solid var(--pt-borda-2); }
.pt-sec-cab h2 { margin: 0; font-size: 26px; }

/* ---------- Hoje ---------- */
.h-provas { gap: var(--esp-3); }
.h-prova { padding: 8px 14px 8px 12px; border: 1px solid var(--pt-borda); border-radius: 999px; background: var(--pt-painel-2); box-shadow: var(--pt-brilho-topo); }
.h-prova b { font: 600 26px/1 var(--f-mono); color: var(--o-luz); text-shadow: 0 0 14px rgba(226, 174, 74, .4); }
.h-agora { background: var(--pt-painel) !important; border: 1px solid rgba(226, 174, 74, .32) !important; box-shadow: var(--pt-brilho-topo), 0 0 0 1px rgba(226, 174, 74, .06), 0 18px 50px rgba(0, 0, 0, .32), 0 0 60px rgba(226, 174, 74, .05) !important; overflow: hidden; }
.h-agora::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 2px; background: linear-gradient(90deg, transparent, var(--o-luz), transparent); opacity: .7; }
.h-agora::after { animation: pt-pisca 2.6s ease-in-out infinite; }
.h-agora > .o-rotulo { color: var(--o-luz); }
.h-agora h2 { font-size: clamp(30px, 4vw, 40px); }
.h-topico { border-left: 2px solid var(--o-luz); background: rgba(226, 174, 74, .05); padding: 6px 0 6px var(--esp-4); border-radius: 0 8px 8px 0; }
.h-secao { margin-top: var(--esp-6); }
.h-secao-cab { border-bottom: 1px solid var(--pt-borda-2); }
.h-secao-cab span { letter-spacing: .1em; text-transform: uppercase; font-size: 10.5px; }
.h-roteiro { border: 1px solid var(--pt-borda); border-radius: var(--pt-raio); background: var(--pt-painel-2); box-shadow: var(--pt-brilho-topo); margin-top: var(--esp-4); overflow: hidden; }
.h-roteiro > li { border-bottom: 1px solid var(--pt-borda-2); padding: 0 var(--esp-4); }
.h-roteiro > li:last-child { border-bottom: 0; }
.h-roteiro > li.atual { background: linear-gradient(90deg, rgba(226, 174, 74, .07), transparent 60%); }
.h-roteiro summary { padding: var(--esp-3) 0; }
.h-n { border-radius: 8px; width: 28px; height: 28px; background: rgba(5, 8, 30, .6); font-family: var(--f-mono); }
.h-roteiro .atual .h-n { box-shadow: 0 0 14px rgba(226, 174, 74, .35); }
.h-detalhe { padding-left: calc(28px + var(--esp-3)); }
.h-lado { gap: var(--esp-4); align-content: start; }
.h-medida { padding: var(--esp-4); border: 1px solid var(--pt-borda) !important; border-radius: var(--pt-raio); background: var(--pt-painel); box-shadow: var(--pt-brilho-topo); }
.h-medida:last-child { border-bottom: 1px solid var(--pt-borda) !important; }
.h-grande b { font: 600 52px/1 var(--f-mono); color: var(--o-luz); text-shadow: 0 0 22px rgba(226, 174, 74, .35); letter-spacing: -.03em; }
.h-trilho { height: 8px; border-radius: 4px; background: #0a0f2d; border: 1px solid var(--pt-borda-2); overflow: visible; }
.h-trilho i { border-radius: 4px; background: linear-gradient(90deg, #c8801f, #ffd37a); }
.h-trilho em { top: -4px; height: 14px; background: #fff; box-shadow: 0 0 6px #fff; }
.h-numeros { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: var(--esp-3); }
.h-numeros > div { padding: 10px 12px; background: rgba(4, 7, 28, .55); border: 1px solid var(--pt-borda-2); border-radius: 10px; }
.h-numeros b { font: 600 26px/1.05 var(--f-mono); color: var(--o-tinta); letter-spacing: -.02em; }
.h-numeros span { font: 500 10px/1.3 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; }
.h-links a { padding: 10px 2px; border-bottom: 1px solid var(--pt-borda-2); }
.h-links a:last-child { border-bottom: 0; }
.h-trip { text-decoration: none; display: block; }
.h-trip ul { margin: 6px 0 0; padding-left: 18px; font-size: 13px; color: var(--o-tinta-2); }

/* ---------- Prova: o painel da missão ---------- */
.pt-onde { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.5fr) minmax(0, 1fr); gap: var(--esp-4); align-items: stretch; }
.pt-onde.sem-nota { grid-template-columns: minmax(0, 1fr); }
.pt-instr { padding: var(--esp-4); display: grid; gap: var(--esp-3); align-content: start; min-width: 0; }
.pt-leg { margin: 0; font-size: 12.5px; line-height: 1.45; color: var(--o-tinta-2); }
.pt-leg b { color: var(--o-tinta); }
.pt-dial { width: 100%; max-width: 250px; height: auto; margin: 0 auto; display: block; }
.pt-dial-trilho { fill: none; stroke: #131b4a; stroke-width: 13; stroke-linecap: round; }
.pt-dial-valor { fill: none; stroke: #ffd37a; stroke-width: 13; stroke-linecap: round; filter: drop-shadow(0 0 7px rgba(226, 174, 74, .55)); }
.pt-dial-meta { stroke: #fff; stroke-width: 2.4; stroke-linecap: round; filter: drop-shadow(0 0 4px #fff); }
.pt-dial-n { font: 600 44px var(--f-mono); fill: var(--o-tinta); letter-spacing: -.03em; }
.pt-dial-d { font: 500 11px var(--f-mono); fill: var(--o-tinta-3); letter-spacing: .08em; }
.pt-tres { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pt-tres span { display: grid; gap: 2px; padding: 8px 6px; text-align: center; background: rgba(4, 7, 28, .55); border: 1px solid var(--pt-borda-2); border-radius: 10px; font: 500 9.5px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--o-tinta-3); }
.pt-tres b { font: 600 22px/1 var(--f-mono); color: var(--o-tinta); letter-spacing: -.02em; }
.pt-tres span:first-child b { color: var(--o-luz); }
.pt-disc ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.pt-disc li { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(70px, 1fr) 44px; gap: 12px; align-items: center; }
.pt-disc-nome { font-size: 14px; font-weight: 500; line-height: 1.25; min-width: 0; }
.pt-disc-nome small { display: block; margin-top: 2px; font: 400 11px/1.3 var(--f-mono); color: var(--o-tinta-3); letter-spacing: .02em; }
.pt-barra { position: relative; height: 9px; border-radius: 5px; background: #0a0f2d; border: 1px solid var(--pt-borda-2); }
.pt-barra i { position: absolute; inset: 0 auto 0 0; border-radius: 4px; background: linear-gradient(90deg, #4a4fa8, #8F86E8); box-shadow: 0 0 8px rgba(143, 134, 232, .5); }
.pt-barra em { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--o-erro); box-shadow: 0 0 5px var(--o-erro); }
.pt-pct { font: 600 14px var(--f-mono); text-align: right; color: var(--o-tinta); }
.pt-ceu-n { display: flex; align-items: baseline; gap: 10px; }
.pt-ceu-n b { font: 600 52px/1 var(--f-mono); color: var(--o-luz); letter-spacing: -.03em; text-shadow: 0 0 22px rgba(226, 174, 74, .35); }
.pt-ceu-n span { font: 500 11px var(--f-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--o-tinta-3); }
.pt-fases { display: grid; gap: 7px; }
.pt-fases span { display: flex; align-items: center; gap: 9px; font-size: 13px; color: var(--o-tinta-2); }
.pt-fases b { font: 600 14px var(--f-mono); color: var(--o-tinta); min-width: 22px; text-align: right; }

/* o que fazer agora */
.pt-astra { display: flex; gap: 14px; align-items: flex-start; padding: 12px 16px; margin-bottom: var(--esp-4); background: linear-gradient(180deg, #080d27, #050820); }
.pt-astra-n { flex: none; font: 500 10.5px/1.7 var(--f-mono); letter-spacing: .18em; text-transform: uppercase; color: var(--o-luz); white-space: nowrap; }
.pt-astra p { margin: 0; font: 400 13.5px/1.6 var(--f-mono); color: #F6D78E; text-shadow: 0 0 10px rgba(246, 215, 142, .22); }
.pt-astra p b { color: #fff3d0; font-weight: 600; } .pt-astra p span + span { margin-left: .5em; }
.pt-cursor { display: inline-block; width: .55em; height: 1em; margin-left: 4px; vertical-align: -.15em; background: #F6D78E; animation: pt-pisca 1s steps(2) infinite; }
.pt-rota { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(255px, 1fr)); gap: var(--esp-4); }
.pt-alvo { position: relative; display: flex; flex-direction: column; gap: 6px; padding: var(--esp-4); }
.pt-alvo.f-apagando { border-color: rgba(217, 143, 78, .4); }
.pt-alvo::before { content: ""; position: absolute; left: 16px; right: 16px; top: 0; height: 2px; border-radius: 0 0 2px 2px; background: var(--pt-borda); }
.pt-alvo.f-apagando::before { background: #D98F4E; } .pt-alvo.f-nebulosa::before { background: #9a8cf5; } .pt-alvo.f-protoestrela::before { background: #EFE5CA; } .pt-alvo.f-acesa::before, .pt-alvo.f-firme::before { background: #ffe39a; }
.pt-alvo-cab { display: flex; align-items: center; gap: 9px; }
.pt-n { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 7px; background: rgba(4, 7, 28, .6); border: 1px solid var(--pt-borda); font: 600 11px var(--f-mono); color: var(--o-luz); }
.pt-fase { font: 500 10.5px var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--o-tinta-2); }
.pt-alvo h3 { margin: 4px 0 0; font-size: 21px; line-height: 1.15; }
.pt-disc-peq { margin: 0; font: 400 11.5px var(--f-mono); color: var(--o-tinta-3); }
.pt-porque { margin: 2px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--o-tinta-2); flex: 1; }
.pt-alvo-acoes { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 8px; }
.pt-alvo-acoes .pt-acao { min-height: 42px; padding: 0 18px; }
.pt-outras { display: flex; flex-wrap: wrap; gap: 4px 12px; margin-top: 2px; }
.pt-mini { background: none !important; border: 0 !important; min-height: 26px !important; padding: 0 !important; font: 500 11.5px var(--f-mono) !important; letter-spacing: .02em; color: var(--o-tinta-3) !important; text-decoration: underline; text-decoration-color: var(--pt-borda); text-underline-offset: 3px; cursor: pointer; }
.pt-mini:hover { color: var(--o-luz) !important; text-decoration-color: var(--o-luz); }
a.pt-mini { display: inline-flex; align-items: center; }
.pt-trip { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
.pt-trip i { font: normal 500 10px var(--f-mono); letter-spacing: .06em; text-transform: uppercase; padding: 2px 8px; border-radius: 99px; background: rgba(226, 174, 74, .12); color: var(--o-luz); border: 1px solid rgba(226, 174, 74, .3); }
.pt-trip i::before { content: "★ "; }

/* o mapa do edital */
.pt-filtros { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: var(--esp-4); }
.pt-filtros button { min-height: 32px; padding: 0 12px; border-radius: 99px; font: 500 11px var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--o-tinta-2); background: rgba(4, 7, 28, .5); border: 1px solid var(--pt-borda-2); }
.pt-filtros button b { color: var(--o-tinta-3); font-weight: 500; margin-left: 4px; }
.pt-filtros button[aria-pressed="true"] { color: var(--o-luz); border-color: rgba(226, 174, 74, .5); background: rgba(226, 174, 74, .1); }
.pt-grupo { margin-bottom: var(--esp-4); padding: 0; overflow: hidden; border-left: 3px solid var(--g); }
.pt-grupo.completa { box-shadow: var(--pt-brilho-topo), 0 0 30px rgba(255, 227, 154, .12); }
.pt-grupo-cab { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding: 14px 16px; border-bottom: 1px solid var(--pt-borda-2); }
.pt-grupo-cab h3 { margin: 0; font-size: 22px; flex: 1 1 auto; }
.pt-mapa { display: inline-flex; flex-wrap: wrap; gap: 5px; max-width: 260px; }
.pt-grupo-n { font: 500 10.5px var(--f-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--o-tinta-3); white-space: nowrap; }
.pt-linhas { list-style: none; margin: 0; padding: 0; }
.pt-linha { border-bottom: 1px solid var(--pt-borda-2); }
.pt-linha:last-child { border-bottom: 0; }
.pt-linha[hidden], .pt-grupo[hidden] { display: none; }
.pt-linha summary { list-style: none; display: grid; grid-template-columns: 14px minmax(0, 1fr) auto 84px; gap: 12px; align-items: center; padding: 12px 16px; cursor: pointer; }
.pt-linha summary::-webkit-details-marker { display: none; }
.pt-linha summary:hover .pt-l-nome b { color: var(--o-luz); }
.pt-l-nome { min-width: 0; display: block; }
.pt-l-nome b { display: block; font-weight: 500; font-size: 14.5px; line-height: 1.3; transition: color .15s; }
.pt-l-nome small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--o-tinta-3); }
.pt-linha.f-apagando .pt-l-nome small { color: #e8a572; }
.pt-brilho { position: relative; height: 5px; border-radius: 3px; background: #0a0f2d; }
.pt-brilho i { position: absolute; inset: 0 auto 0 0; border-radius: 3px; background: linear-gradient(90deg, #c8801f, #ffd37a); }
.pt-linha[open] { background: rgba(4, 7, 28, .35); }
.pt-l-det { padding: 0 16px 16px 42px; color: var(--o-tinta-2); font-size: 13.5px; }
.pt-l-det > p { margin: 0 0 6px; }
.pt-fora > summary { list-style: none; cursor: pointer; } .pt-fora > summary::-webkit-details-marker { display: none; }
.pt-fora[open] > summary { margin-bottom: var(--esp-4); }
.pt-mud { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.pt-mud li { display: grid; grid-template-columns: 14px 1fr auto; gap: 12px; align-items: center; padding: 10px 14px; border: 1px solid var(--pt-borda-2); border-radius: 12px; background: var(--pt-painel-2); font-size: 14px; }
.pt-mud .pt-mud-fase { font: 500 11px var(--f-mono); letter-spacing: .06em; text-transform: uppercase; }
.pt-mud .sobe .pt-mud-fase { color: var(--o-ok); } .pt-mud .desce .pt-mud-fase { color: var(--o-erro); }
.pt-ajuda { margin-top: var(--esp-4); padding: 0; }
.pt-ajuda summary { cursor: pointer; padding: 12px 16px; font: 500 11px var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--o-tinta-2); list-style: none; }
.pt-ajuda summary::-webkit-details-marker { display: none; } .pt-ajuda summary::before { content: "? "; color: var(--o-luz); }
.pt-ajuda-c { padding: 0 16px 16px; max-width: 78ch; font-size: 14px; color: var(--o-tinta-2); }
.pt-ajuda dl { display: grid; gap: 10px; margin: 12px 0; } .pt-ajuda dl > div { display: grid; grid-template-columns: 14px 1fr; gap: 4px 12px; align-items: start; }
.pt-ajuda dt { color: var(--o-tinta); font-weight: 500; } .pt-ajuda dd { grid-column: 2; margin: 0; }
#pt-ajuda-b { min-width: 34px; padding: 0; font: 600 14px var(--f-mono); }

/* ---------- Números ---------- */
.tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; margin: var(--esp-4) 0; }
.tiles .metrica { border: 1px solid var(--pt-borda) !important; border-radius: 14px !important; padding: 14px 16px !important; background: var(--pt-painel) !important; box-shadow: var(--pt-brilho-topo) !important; }
.tiles .metrica b, .tiles .metrica strong { font: 600 30px/1.05 var(--f-mono) !important; color: var(--o-tinta); letter-spacing: -.03em; }
.tiles .metrica span { display: block; margin-top: 4px; font: 500 10.5px/1.35 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--o-tinta-3); }
.tiles .metrica:first-child b { color: var(--o-luz); }
.tiles .metrica .sobe { color: var(--o-ok); font-style: normal; } .tiles .metrica .desce { color: var(--o-erro); font-style: normal; }
.painel { background: var(--pt-painel) !important; border: 1px solid var(--pt-borda) !important; border-radius: var(--pt-raio) !important; box-shadow: var(--pt-brilho-topo), var(--pt-sombra) !important; padding: var(--esp-4) var(--esp-4) var(--esp-5); }
.painel > h2 { font: 500 11px/1.3 var(--f-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--o-luz); margin: 0 0 var(--esp-3); }
.painel > h2::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 9px; border-radius: 50%; background: var(--pt-led-on); box-shadow: 0 0 8px var(--pt-led-on); vertical-align: 1px; }
.grade-graficos { gap: var(--esp-4); }
.destaque-futuro { background: var(--pt-painel) !important; }
.frase-projecao { font: 400 15px/1.5 var(--f-mono); color: #F6D78E; padding: 10px 14px; border-radius: 10px; background: linear-gradient(180deg, #080d27, #050820); border: 1px solid var(--pt-borda-2); }
.sub-graf { color: var(--o-tinta-3); }
.abas-numeros { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px; border: 1px solid var(--pt-borda); border-radius: 14px; background: var(--pt-painel-2); margin: var(--esp-4) 0; }
.abas-numeros button { min-height: 36px; padding: 0 14px; border: 1px solid transparent !important; border-radius: 10px; background: none !important; color: var(--o-tinta-2); font: 500 11.5px var(--f-mono); letter-spacing: .1em; text-transform: uppercase; }
.abas-numeros button[aria-selected="true"] { color: var(--o-luz); background: rgba(226, 174, 74, .1) !important; border-color: rgba(226, 174, 74, .4) !important; box-shadow: 0 0 18px rgba(226, 174, 74, .12); }
.filtros-est { border-radius: 14px; background: var(--pt-painel) !important; border: 1px solid var(--pt-borda) !important; }
.revista { border: 1px solid var(--pt-borda); border-radius: var(--pt-raio); background: var(--pt-painel); box-shadow: var(--pt-brilho-topo), var(--pt-sombra); padding: var(--esp-4) var(--esp-5); }
.revista .rv-marca { font-size: 22px; } .revista .rv-edicao { text-transform: uppercase; letter-spacing: .08em; }
.revista .rv-numero, .revista .rv-numero-grande { font-family: var(--f-mono) !important; letter-spacing: -.04em; }
.t-est { border-collapse: separate; border-spacing: 0; }
.t-est th { background: rgba(4, 7, 28, .5); }
table.t-est td { border-bottom: 1px solid var(--pt-borda-2); }

/* ---------- camada comum ("pro app todo"): cabeçalhos, painéis, chips e botões das telas que não foram refeitas ---------- */
main#tela > h1:first-child::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 12px; border-radius: 50%; background: var(--pt-led-on); box-shadow: 0 0 10px var(--pt-led-on); vertical-align: .28em; }
.status-card, .edital-card, .conquista, .nt-cartao, .rs-cartao, .disciplina, .pl-artigo, .tr-hero, .tr-top, .tr-sem { background: var(--pt-painel) !important; border: 1px solid var(--pt-borda) !important; border-radius: 14px !important; box-shadow: var(--pt-brilho-topo) !important; }
.chip { font-family: var(--f-mono); letter-spacing: .04em; border-color: var(--pt-borda); }
.filtros, .abas, .ordem, .modos { border-color: var(--pt-borda) !important; background: var(--pt-painel-2) !important; border-radius: 12px; }
.filtros button.ativo, .abas a.ativo, .ordem button.ativo, .modos button.ativo, .filtros button[aria-pressed="true"] { font-family: var(--f-mono); letter-spacing: .04em; }
.p-acoes { gap: 8px; flex-wrap: wrap; }
dialog { border-color: var(--pt-borda) !important; }
.o-rotulo { letter-spacing: .16em; }
.barra .marca { text-shadow: 0 0 18px rgba(226, 174, 74, .25); }

/* ---------- celular ---------- */
@media (max-width: 1100px) { .pt-onde { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .pt-onde .pt-ceu { grid-column: 1 / -1; } }
@media (max-width: 720px) {
  .pt-onde { grid-template-columns: minmax(0, 1fr); }
  .pt-disc li { grid-template-columns: minmax(0, 1fr) 44px; } .pt-disc .pt-barra { grid-column: 1 / -1; grid-row: 2; }
  .pt-astra { flex-direction: column; gap: 4px; }
  .pt-rota { grid-template-columns: minmax(0, 1fr); }
  .pt-linha summary { grid-template-columns: 14px minmax(0, 1fr) 54px; padding: 12px; } .pt-linha summary .pt-trip { display: none; }
  .pt-l-det { padding-left: 38px; padding-right: 12px; }
  .pt-grupo-cab { padding: 12px; } .pt-grupo-cab h3 { flex-basis: 100%; } .pt-mapa { max-width: none; }
  .pt-sec-cab h2 { font-size: 22px; }
  .h-numeros b { font-size: 22px; }
  .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } .tiles .metrica b { font-size: 24px !important; }
  .abas-numeros { overflow-x: auto; flex-wrap: nowrap; } .abas-numeros button { flex: none; }
  .revista { padding: var(--esp-3); }
}

/* gráficos nos painéis: escala sequencial do calendário em tons da noite (a antiga era clara) */
.painel, .g-cal, .g-escala { --seq-0: #141b46; --seq-1: #2b3373; --seq-2: #4A4FA8; --seq-3: #8F86E8; --seq-4: #E2AE4A; }
.painel > h2, .painel > h2:first-child { font-size: 11px !important; line-height: 1.3; }
.pt-cab-num h1 { font-size: clamp(40px, 5vw, 56px); }
