.tt-ap {
--ap-bg: #ffffff;
--ap-fg: #16202c;
--ap-mut: #566170;
--ap-bd: #d5dbe3;
--ap-card: #f4f6f9;
--ap-ok: #0a6b36;
--ap-ok-bg: #e4f5ea;
--ap-warn: #8a4b00;
--ap-warn-bg: #fdf0dc;
--ap-live: #c8102e;
--ap-track: #e3e8ee;
box-sizing: border-box;
color: var(--ap-fg);
font-size: 16px;
line-height: 1.45;
}
.tt-ap *, .tt-ap *::before, .tt-ap *::after { box-sizing: inherit; }
.tt-ap[data-tema="escuro"] {
--ap-bg: #12171e; --ap-fg: #eaeff5; --ap-mut: #a3afbd; --ap-bd: #2c3643; --ap-card: #1a212b;
--ap-ok: #6fdc9a; --ap-ok-bg: #12301f; --ap-warn: #f3b866; --ap-warn-bg: #3a2a10; --ap-live: #ff6b81; --ap-track: #2a3340;
}
@media (prefers-color-scheme: dark) {
.tt-ap[data-tema="auto"] {
--ap-bg: #12171e; --ap-fg: #eaeff5; --ap-mut: #a3afbd; --ap-bd: #2c3643; --ap-card: #1a212b;
--ap-ok: #6fdc9a; --ap-ok-bg: #12301f; --ap-warn: #f3b866; --ap-warn-bg: #3a2a10; --ap-live: #ff6b81; --ap-track: #2a3340;
}
}
.tt-ap-pagina, .tt-ap-cardbox { background: var(--ap-bg); }
.tt-ap-mut { color: var(--ap-mut); }
.tt-ap a { color: var(--tt-ap-cor, #0b5ed7); }
.tt-ap :focus-visible { outline: 3px solid var(--tt-ap-cor, #0b5ed7); outline-offset: 2px; } .tt-ap-live {
display: inline-block; padding: .1em .55em; border-radius: 99px; background: var(--ap-live); color: #fff;
font-size: .72em; font-weight: 700; letter-spacing: .06em; vertical-align: middle;
}
.tt-ap-live[hidden] { display: none; }
.tt-ap-live:not([hidden])::before {
content: ""; display: inline-block; width: .5em; height: .5em; margin-right: .4em; border-radius: 50%;
background: #fff; animation: tt-ap-pulso 1.4s ease-in-out infinite;
}
@keyframes tt-ap-pulso { 50% { opacity: .25; } }
@media (prefers-reduced-motion: reduce) { .tt-ap-live::before { animation: none !important; } } .tt-ap-barra {
--ap-live: #b3001b;
background: #ff8a00; color: #1b1100; font-size: 15px; border-bottom: 1px solid rgba(0, 0, 0, .18);
}
.tt-ap-barra__in {
display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .85rem; max-width: 1200px; margin: 0 auto; padding: .85rem 1rem;
}
.tt-ap-barra__tit { font-weight: 800; }
.tt-ap-barra__tit::after { content: " ·"; font-weight: 400; }
.tt-ap-barra__txt { font-weight: 600; }
.tt-ap-barra__hora { color: #3b2300; }
.tt-ap-barra[data-estado="offline"] .tt-ap-barra__hora { color: #5a0010; font-weight: 700; }
.tt-ap-barra__links { margin-left: auto; display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .9rem; }
.tt-ap-barra a { color: #1b1100; font-weight: 700; }
.tt-ap-barra a.tt-ap-barra__link { text-decoration: underline; text-underline-offset: 2px; }
.tt-ap-barra a.tt-ap-barra__yt {
display: inline-block; padding: .3rem .8rem; border-radius: 99px; background: #1b1100; color: #fff; text-decoration: none;
}
.tt-ap-barra a.tt-ap-barra__yt:hover { background: #000; }
.tt-ap-barra a:focus-visible { outline: 3px solid #1b1100; outline-offset: 2px; }
.tt-ap-barra a.tt-ap-barra__yt:focus-visible { outline-color: #fff; box-shadow: 0 0 0 5px #1b1100; }
.tt-ap-barra__prog { height: 4px; background: rgba(0, 0, 0, .18); }
.tt-ap-barra__prog i { display: block; height: 100%; width: 0; background: #1b1100; transition: width .6s ease; } .tt-ap-pagina { max-width: 960px; margin: 0 auto; padding: 1rem 1rem 1.5rem; }
.tt-ap-status { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .6rem; margin-bottom: .75rem; font-weight: 600; }
.tt-ap-status__hora { font-weight: 400; color: var(--ap-mut); }
.tt-ap-pagina[data-estado="offline"] .tt-ap-status__hora { color: var(--ap-warn); font-weight: 600; }
.tt-ap-escopo { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin-bottom: .75rem; }
.tt-ap-escopo[hidden] { display: none; }
.tt-ap-escopo__rot { font-size: .875rem; color: var(--ap-mut); }
.tt-ap-seg { display: inline-flex; border: 1px solid var(--ap-bd); border-radius: 8px; overflow: hidden; }
.tt-ap-seg button {
border: 0; background: var(--ap-bg); color: var(--ap-fg); padding: .5rem .85rem; font: inherit; cursor: pointer; min-height: 44px;
}
.tt-ap-seg button[aria-pressed="true"] { background: var(--tt-ap-cor, #0b5ed7); color: var(--tt-ap-cor-fg, #fff); font-weight: 700; }
.tt-ap-abas { display: flex; gap: .25rem; overflow-x: auto; border-bottom: 2px solid var(--ap-bd); margin-bottom: 1rem; scrollbar-width: thin; }
.tt-ap-aba {
flex: 0 0 auto; border: 0; border-bottom: 3px solid transparent; margin-bottom: -2px; background: transparent; color: var(--ap-mut);
padding: .6rem .9rem; font: inherit; font-weight: 600; cursor: pointer; min-height: 44px; white-space: nowrap;
}
.tt-ap-aba.is-on { color: var(--ap-fg); border-bottom-color: var(--tt-ap-cor, #0b5ed7); }
.tt-ap-painel:focus-visible { outline-offset: 6px; }
.tt-ap-h { margin: 0 0 .75rem; font-size: 1.25rem; line-height: 1.25; }
.tt-ap-vazio { padding: 1.25rem; border: 1px dashed var(--ap-bd); border-radius: 10px; text-align: center; }
.tt-ap-vazio p { margin: .25rem 0; } .tt-ap-resumo { margin-bottom: 1rem; }
.tt-ap-prog { height: 10px; border-radius: 99px; background: var(--ap-track); overflow: hidden; }
.tt-ap-prog i, .tt-ap-bar i { display: block; height: 100%; width: 0; background: var(--tt-ap-cor, #0b5ed7); border-radius: inherit; transition: width .6s ease; }
.tt-ap-resumo__txt { margin: .5rem 0 .25rem; }
.tt-ap-tags { margin: .25rem 0; display: flex; flex-wrap: wrap; gap: .4rem; }
.tt-ap-tag { display: inline-block; padding: .15rem .6rem; border-radius: 99px; font-size: .85rem; font-weight: 600; }
.tt-ap-tag--ok { background: var(--ap-ok-bg); color: var(--ap-ok); }
.tt-ap-tag--warn { background: var(--ap-warn-bg); color: var(--ap-warn); }
.tt-ap-aviso { margin: .5rem 0; padding: .6rem .8rem; border-radius: 8px; background: var(--ap-warn-bg); color: var(--ap-warn); }
.tt-ap-tot { display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; margin: .75rem 0 0; }
.tt-ap-tot > div { background: var(--ap-card); border-radius: 8px; padding: .5rem .7rem; }
.tt-ap-tot dt { font-size: .8rem; color: var(--ap-mut); }
.tt-ap-tot dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; }
.tt-ap-tot small { margin-left: .4rem; font-weight: 400; color: var(--ap-mut); }
@media (min-width: 640px) { .tt-ap-tot { grid-template-columns: repeat(4, 1fr); } } .tt-ap-cards { list-style: none; margin: 0; padding: 0; display: grid; gap: .6rem; }
.tt-ap-cand { background: var(--ap-card); border: 1px solid var(--ap-bd); border-radius: 10px; padding: .7rem .85rem; }
.tt-ap-cand--eleito { border-color: var(--ap-ok); box-shadow: inset 4px 0 0 var(--ap-ok); }
.tt-ap-cand--dest { border-color: var(--tt-ap-cor, #0b5ed7); box-shadow: inset 4px 0 0 var(--tt-ap-cor, #0b5ed7); }
.tt-ap-cand--anulado { opacity: .8; border-style: dashed; }
.tt-ap-cand__top { display: flex; align-items: flex-start; gap: .6rem; }
.tt-ap-pos { flex: 0 0 auto; min-width: 2.2em; font-weight: 800; color: var(--ap-mut); }
.tt-ap-cand__id { flex: 1 1 auto; min-width: 0; }
.tt-ap-nome { display: block; font-weight: 700; overflow-wrap: anywhere; }
.tt-ap-part { display: block; font-size: .85rem; color: var(--ap-mut); }
.tt-ap-cand__num { margin: .35rem 0 .35rem 2.8em; font-variant-numeric: tabular-nums; }
.tt-ap-pct { margin-left: .5rem; font-weight: 800; font-size: 1.1em; }
.tt-ap-bar { height: 8px; border-radius: 99px; background: var(--ap-track); overflow: hidden; margin-left: 2.8em; }
.tt-ap-sub { margin: .4rem 0 0 2.8em; font-size: .85rem; color: var(--ap-mut); }
.tt-ap-nota { margin-top: .75rem; font-size: .85rem; color: var(--ap-mut); }
.tt-ap-selos { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .25rem; max-width: 55%; }
.tt-ap-tab .tt-ap-selos { display: flex; justify-content: flex-start; max-width: none; margin-top: .25rem; }
.tt-ap-sel { flex: 0 0 auto; padding: .1rem .55rem; border-radius: 99px; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.tt-ap-sel--ok { background: var(--ap-ok-bg); color: var(--ap-ok); }
.tt-ap-sel--warn { background: var(--ap-warn-bg); color: var(--ap-warn); }
.tt-ap-sel--dest { background: var(--tt-ap-cor, #0b5ed7); color: var(--tt-ap-cor-fg, #fff); }
.tt-ap-sel--mut { background: var(--ap-track); color: var(--ap-mut); } .tt-ap-busca { margin: 0 0 .6rem; }
.tt-ap-busca label { display: block; font-size: .875rem; color: var(--ap-mut); margin-bottom: .25rem; }
.tt-ap-busca input {
width: 100%; max-width: 420px; min-height: 44px; padding: .5rem .7rem; font: inherit; color: var(--ap-fg);
background: var(--ap-bg); border: 1px solid var(--ap-bd); border-radius: 8px;
}
.tt-ap-tabwrap { overflow-x: auto; border: 1px solid var(--ap-bd); border-radius: 10px; }
.tt-ap-tab { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tt-ap-tab th, .tt-ap-tab td { padding: .5rem .6rem; text-align: left; border-bottom: 1px solid var(--ap-bd); vertical-align: top; }
.tt-ap-tab thead th { background: var(--ap-card); font-size: .8rem; color: var(--ap-mut); position: sticky; top: 0; }
.tt-ap-tab tbody tr:last-child td { border-bottom: 0; }
.tt-ap-tab .tt-ap-r { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.tt-ap-tab td:nth-child(2) { width: 100%; }
.tt-ap-tab td:first-child { color: var(--ap-mut); }
.tt-ap-tr--eleito { background: var(--ap-ok-bg); }
.tt-ap-tr--anulado { opacity: .8; }
.tt-ap-cont { margin: .5rem 0; font-size: .875rem; color: var(--ap-mut); }
.tt-ap-btn {
border: 1px solid var(--tt-ap-cor, #0b5ed7); background: var(--ap-bg); color: var(--ap-fg); padding: .55rem 1rem;
border-radius: 8px; font: inherit; font-weight: 600; cursor: pointer; min-height: 44px;
}
.tt-ap-btn:hover { background: var(--tt-ap-cor, #0b5ed7); color: var(--tt-ap-cor-fg, #fff); }
.tt-ap-btn[hidden] { display: none; }
.tt-ap-fonte { margin: 1.25rem 0 0; font-size: .8rem; color: var(--ap-mut); } .tt-ap-cardbox { border: 1px solid var(--ap-bd); border-radius: 12px; padding: .9rem 1rem; max-width: 520px; }
.tt-ap-card__tit { margin: 0 0 .35rem; font-size: 1.05rem; }
.tt-ap-card__sec { margin: 0 0 .6rem; font-size: .9rem; }
.tt-ap-card__rod { margin: .6rem 0 0; font-size: .8rem; color: var(--ap-mut); }
.tt-ap-card__link { display: inline-block; margin-top: .4rem; font-weight: 600; }
.tt-ap-cardbox .tt-ap-cand { padding: .5rem .7rem; }
.tt-ap-cardbox .tt-ap-cand__num, .tt-ap-cardbox .tt-ap-bar, .tt-ap-cardbox .tt-ap-sub { margin-left: 2.2em; } .tt-ap-escopo { display: block; }
.tt-ap-escopo__rot { display: block; margin-bottom: .25rem; }
.tt-ap-cb { position: relative; max-width: 460px; }
.tt-ap-cb input {
width: 100%; min-height: 44px; padding: .5rem 2.6rem .5rem .75rem; font: inherit; color: var(--ap-fg);
background: var(--ap-bg); border: 1px solid var(--ap-bd); border-radius: 8px;
}
.tt-ap-cb input::placeholder { color: var(--ap-mut); opacity: 1; }
.tt-ap-cb__x {
position: absolute; right: 2px; top: 2px; width: 40px; height: 40px; border: 0; background: transparent;
color: var(--ap-mut); font-size: 1.5rem; line-height: 1; cursor: pointer; border-radius: 8px;
}
.tt-ap-cb__x[hidden] { display: none; }
.tt-ap-cb ul {
position: absolute; z-index: 30; left: 0; right: 0; top: 100%; margin: 2px 0 0; padding: .25rem 0; list-style: none;
max-height: 16rem; overflow: auto; background: var(--ap-bg); border: 1px solid var(--ap-bd); border-radius: 8px;
box-shadow: 0 8px 24px rgba(0, 0, 0, .2);
}
.tt-ap-cb ul[hidden] { display: none; }
.tt-ap-cb li[role="option"] { padding: .65rem .8rem; cursor: pointer; }
.tt-ap-cb li[aria-selected="true"] { background: var(--tt-ap-cor, #0b5ed7); color: var(--tt-ap-cor-fg, #fff); }
.tt-ap-lb__msg { padding: .65rem .8rem; color: var(--ap-mut); } .tt-ap-painel[aria-busy="true"] { min-height: 12rem; }
.tt-ap-carrega { display: grid; gap: .6rem; margin: .5rem 0; }
.tt-ap-carrega i { display: block; height: 4.2rem; border-radius: 10px; background: var(--ap-track); animation: tt-ap-brilho 1.2s ease-in-out infinite; }
.tt-ap-carrega i:first-child { height: 1.6rem; width: 55%; }
.tt-ap-carrega__t { margin: 0; }
@keyframes tt-ap-brilho { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { .tt-ap-carrega i { animation: none; } }
.tt-ap-nota-cid { margin: -.4rem 0 .75rem; font-size: .9rem; } .tt-ap-and { margin-top: 2rem; }
.tt-ap-and[hidden] { display: none; }
.tt-ap-and__res { margin: -.4rem 0 .6rem; font-size: .9rem; }
.tt-ap-and__wrap { max-height: 34rem; overflow: auto; }
.tt-ap-and__tab td:first-child { width: auto; color: inherit; }
.tt-ap-and__tab td a { font-weight: 600; text-decoration: none; }
.tt-ap-and__tab td a:hover { text-decoration: underline; }
.tt-ap-ord { border: 0; background: transparent; color: inherit; font: inherit; font-weight: 700; cursor: pointer; padding: .2rem 0; min-height: 32px; text-align: inherit; }
.tt-ap-ord:hover { text-decoration: underline; }
.tt-ap-and .tt-ap-nome { font-weight: 600; }
.tt-ap-and__tab .tt-ap-r { white-space: nowrap; }
.tt-ap-and__tab .tt-ap-sel { display: block; width: max-content; margin: .2rem 0 0 auto; }
.tt-ap-and__tab td:nth-child(3) { min-width: 9rem; overflow-wrap: anywhere; }
.tt-ap-and__tab td:first-child { min-width: 7rem; }