/*
  RANKING DA SELETIVA (campeonato-simulador/seletiva/) e o painel admin.
  Carregada depois de caterham-esports.css: usa os mesmos tokens e componentes
  (.topo, .kicker, .titulo, .btn, .rodape).
*/
.topo--fixo { position: relative; border-bottom: 1px solid var(--linha); }

.sel { max-width: 980px; margin: 0 auto; padding: clamp(40px, 7vw, 88px) var(--gutter) clamp(64px, 10vw, 120px); }
.sel__cabeca .titulo { font-size: clamp(2.5rem, 1.4rem + 4.2vw, 4.75rem); }
.sel__atualizado {
  margin: 18px 0 0;
  font-family: var(--ff-mono); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--paper-3);
}

.sel__abas { display: flex; gap: 8px; margin-top: clamp(32px, 5vw, 48px); border-bottom: 1px solid var(--linha); }
.sel__abas button {
  margin-bottom: -1px; padding: 14px 18px; border: 0; border-bottom: 2px solid transparent; background: none;
  color: var(--paper-2); font-family: var(--ff-display); font-weight: 700; font-size: 1rem;
  letter-spacing: 0.06em; text-transform: uppercase; cursor: pointer;
}
.sel__abas button:hover { color: var(--paper); }
.sel__abas button[aria-selected="true"] { color: var(--lime); border-bottom-color: var(--lime); }
@media (max-width: 479px) { .sel__abas button { flex: 1; padding-inline: 8px; font-size: 0.875rem; } }

.sel__painel { padding-top: 8px; }
.sel__tabela { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.sel__tabela th {
  padding: 14px 10px; text-align: left;
  font-family: var(--ff-mono); font-size: 0.6875rem; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--paper-3);
}
.sel__tabela td { padding: 14px 10px; border-top: 1px solid var(--linha); vertical-align: middle; }
.sel__tabela th.c-pos { width: 3.5rem; }
.sel__tabela td.c-pos { width: 3.5rem; font-family: var(--ff-display); font-weight: 700; font-size: 1.25rem; color: var(--paper-2); }
.sel__tabela .c-nome { font-weight: 600; overflow-wrap: anywhere; }
.sel__tabela .c-volta, .sel__tabela .c-gap { text-align: right; font-family: var(--ff-mono); white-space: nowrap; }
.sel__tabela .c-gap { color: var(--paper-3); width: 7rem; }
.sel__tabela tbody tr:nth-child(-n + 3) .c-pos { color: var(--lime); }
.sel__tabela tr.is-fora td { color: var(--paper-3); }
.sel__corte td {
  padding: 10px; border-top: 2px dashed var(--lime);
  font-family: var(--ff-mono); font-size: 0.6875rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lime);
}
@media (max-width: 479px) {
  .sel__tabela th, .sel__tabela td { padding-inline: 6px; }
  .sel__tabela .c-pos { width: 2.5rem; }
  .sel__tabela td.c-pos { font-size: 1.0625rem; }
  .sel__tabela .c-gap { display: none; }
}

.sel__vazio { padding: 40px 0; color: var(--paper-2); }
.sel__cta {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
  margin-top: clamp(48px, 7vw, 72px); padding: 24px; border: 1px solid var(--linha); background: var(--ink-1);
}
.sel__cta p { margin: 0; color: var(--paper-2); }

/* ------------------------------------------------------------ painel admin */
.adm { max-width: 980px; margin: 0 auto; padding: 40px var(--gutter) 80px; }
.adm h1 { margin: 0; font-family: var(--ff-display); font-size: 2.25rem; text-transform: uppercase; }
.adm h2 { margin: 48px 0 12px; font-family: var(--ff-display); font-size: 1.375rem; text-transform: uppercase; }
.adm p { color: var(--paper-2); }
.adm__bloco { display: grid; gap: 14px; padding: 22px; border: 1px solid var(--linha); background: var(--ink-1); }
.adm label { display: grid; gap: 6px; font-size: 0.875rem; font-weight: 600; }
.adm input, .adm select {
  min-height: 46px; padding: 0 12px; border: 1px solid var(--linha-forte); background: var(--ink); color: var(--paper);
  font: inherit;
}
.adm input[type="file"] { padding: 10px 12px; }
.adm__linha { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 14px; }
.adm__msg { margin: 0; padding: 12px 14px; border-left: 3px solid var(--lime); background: var(--ink-2); white-space: pre-line; }
.adm__msg.is-erro { border-left-color: var(--erro); color: #ffd8d2; }
.adm table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.adm th, .adm td { padding: 10px 8px; border-top: 1px solid var(--linha); text-align: left; vertical-align: top; }
.adm td { white-space: pre-line; }
.adm th { font-family: var(--ff-mono); font-size: 0.6875rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--paper-3); }
.adm__mini { min-height: 34px; padding: 0 12px; border: 1px solid var(--linha-forte); background: none; color: var(--paper); cursor: pointer; font: inherit; font-size: 0.8125rem; }
.adm__mini:hover { border-color: var(--erro); color: var(--erro); }
.adm__tabela-wrap { overflow-x: auto; }
