/* FBX Partidas: passador do perfil e página de envio. Escopo .fbxp-*. */
.fbxp-passador, .fbxp-envio, .fbxp-aviso {
  --fbxp-escuro: #06163a;
  --fbxp-clara: #dee3e6;
  --fbxp-escura: #8ca2ad;
  --fbxp-ultimo: #f6c945;
  --fbxp-borda: rgba(6, 22, 58, .18);
  --fbxp-fundo: rgba(255, 255, 255, .55);
}
.fbxp-passador { margin: 30px 0; padding: 22px; background: var(--fbxp-fundo); border-radius: 16px; box-shadow: 0 8px 24px rgba(6, 22, 58, .12); color: #1b1d2a; }
.fbxp-titulo { margin: 0 0 14px; text-align: center; font-size: 1.6rem; color: var(--fbxp-escuro); }

.fbxp-escolha { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; }
.fbxp-escolha label { font-weight: 700; color: var(--fbxp-escuro); margin: 0; }
.fbxp-escolha select { flex: 1; min-width: 0; width: auto; max-width: 100%; padding: .5rem .8rem; border: 1px solid var(--fbxp-borda); border-radius: 10px; background: #fff; font-size: 1rem; }

.fbxp-lista { margin-bottom: 16px; }
.fbxp-rolagem { overflow-x: auto; max-height: 300px; overflow-y: auto; border-radius: 10px; }
.fbxp-tabela { width: 100%; border-collapse: collapse; font-size: .92rem; background: rgba(255, 255, 255, .5); margin: 0; }
.fbxp-tabela th, .fbxp-tabela td { padding: 7px 10px !important; border: 0 !important; border-bottom: 1px solid var(--fbxp-borda) !important; text-align: left; vertical-align: top; background: transparent !important; }
.fbxp-tabela th { position: sticky; top: 0; background: #e9eef5 !important; color: var(--fbxp-escuro); z-index: 1; }
.fbxp-passador .fbxp-tabela tbody tr { cursor: pointer; }
.fbxp-passador .fbxp-tabela tbody tr:hover td, .fbxp-passador .fbxp-tabela tbody tr:focus-visible td { background: rgba(6, 22, 58, .07) !important; }
.fbxp-tabela tr.fbxp-ativa td { background: rgba(246, 201, 69, .35) !important; }
.fbxp-tabela a { color: var(--fbxp-escuro); font-weight: 600; }
.fbxp-eu { font-weight: 700; }
.fbxp-tabela[aria-busy="true"], .fbxp-lista[aria-busy="true"] { opacity: .6; }

.fbxp-grade { display: grid; grid-template-columns: minmax(0, 560px) minmax(200px, 1fr); gap: 20px; justify-content: center; align-items: start; }
@media (max-width: 760px) { .fbxp-grade { grid-template-columns: minmax(0, 1fr); } .fbxp-passador { padding: 14px; } }
.fbxp-cabecalho { margin-bottom: 8px; }
.fbxp-jogadores { font-size: 1.05rem; }
.fbxp-res { font-weight: 700; padding: 0 .3em; }
.fbxp-evento { font-size: .85rem; opacity: .8; }
.fbxp-erro { color: #b32d2e; font-size: .9rem; }

.fbxp-linha-tab { display: flex; gap: 6px; }
.fbxp-barra { width: 14px; flex: 0 0 14px; background: #333; border-radius: 4px; overflow: hidden; display: flex; flex-direction: column-reverse; }
.fbxp-barra.fbxp-virada { flex-direction: column; }
.fbxp-barra[hidden] { display: none; }
.fbxp-barra-brancas { background: #f4f4f4; height: 50%; transition: height .4s ease; }

.fbxp-tabuleiro { flex: 1; display: grid; grid-template-columns: repeat(8, 1fr); grid-template-rows: repeat(8, 1fr); aspect-ratio: 1; container-type: inline-size; border-radius: 6px; overflow: hidden; outline-offset: 3px; user-select: none; box-shadow: 0 6px 18px rgba(6, 22, 58, .25); }
.fbxp-casa { position: relative; display: flex; align-items: center; justify-content: center; }
.fbxp-clara { background: var(--fbxp-clara); }
.fbxp-escura { background: var(--fbxp-escura); }
.fbxp-ultimo { box-shadow: inset 0 0 0 max(3px, .75cqw) var(--fbxp-ultimo); }
.fbxp-peca { font-size: 10cqw; line-height: 1; font-family: "Segoe UI Symbol", "DejaVu Sans", "Noto Sans Symbols2", "Arial Unicode MS", serif; }
.fbxp-branca { color: #fff; text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 2px #000, 0 1px 2px rgba(0, 0, 0, .6); }
.fbxp-preta { color: #111; text-shadow: 0 0 1px rgba(255, 255, 255, .5); }
.fbxp-coord { position: absolute; font-size: 2.2cqw; font-weight: 700; opacity: .75; line-height: 1; }
.fbxp-coord-n { top: 2px; left: 3px; }
.fbxp-coord-l { bottom: 2px; right: 3px; }
.fbxp-clara .fbxp-coord { color: var(--fbxp-escura); }
.fbxp-escura .fbxp-coord { color: var(--fbxp-clara); }

.fbxp-controles { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 10px 0 6px; }
.fbx-site .fbxp-btn { min-width: 44px; min-height: 40px; padding: 0 10px; border: 1px solid var(--fbxp-escuro) !important; background: #fff !important; color: var(--fbxp-escuro) !important; border-radius: 8px; font-size: 1.05rem; cursor: pointer; }
.fbx-site .fbxp-btn:hover, .fbx-site .fbxp-btn:focus-visible { background: var(--fbxp-escuro) !important; color: #fff !important; }
.fbxp-btn-texto { font-size: .9rem !important; }
.fbxp-aval { display: block; text-align: center; font-size: .9rem; cursor: pointer; }
.fbxp-aval-num { font-weight: 700; font-variant-numeric: tabular-nums; }

.fbxp-lances { max-height: 560px; overflow-y: auto; border: 1px solid var(--fbxp-borda); border-radius: 10px; padding: 6px; background: rgba(255, 255, 255, .6); font-variant-numeric: tabular-nums; }
@media (max-width: 760px) { .fbxp-lances { max-height: 180px; } }
.fbxp-par { display: grid; grid-template-columns: 3em 1fr 1fr; align-items: center; }
.fbxp-num { opacity: .6; font-size: .85rem; }
.fbx-site .fbxp-lance { border: 0 !important; background: none !important; text-align: left; padding: 3px 6px; border-radius: 4px; cursor: pointer; color: inherit !important; font: inherit; white-space: nowrap; }
.fbx-site .fbxp-lance:hover { background: rgba(6, 22, 58, .08) !important; }
.fbx-site .fbxp-lance.fbxp-atual { background: var(--fbxp-escuro) !important; color: #fff !important; }
.fbxp-final { text-align: center; font-weight: 700; margin-top: 6px; }

/* Envio */
.fbxp-envio .fbxp-form { display: grid; gap: 8px; max-width: 680px; margin: 1rem 0; }
.fbxp-envio textarea { font-family: ui-monospace, Consolas, monospace; font-size: .85rem; width: 100%; }
.fbx-site .fbxp-botao { justify-self: start; background: var(--fbxp-escuro) !important; color: #fff !important; border: 0 !important; border-radius: 40px; padding: 10px 26px; cursor: pointer; }
.fbxp-botao:disabled { opacity: .6; cursor: wait; }
.fbxp-botoes-envio { display: flex; flex-wrap: wrap; gap: 10px; }
.fbx-site .fbxp-botao-sec { background: #fff !important; color: var(--fbxp-escuro) !important; border: 1.5px solid var(--fbxp-escuro) !important; }
.fbxp-progresso { font-weight: 600; margin: 8px 0; }
.fbxp-resumo { font-weight: 700; }
.fbxp-filtro { display: inline-flex; gap: 6px; align-items: center; margin-bottom: 8px; }
.fbxp-so-rejeitadas tbody tr:not(.fbxp-st-rejeitada) { display: none; }
.fbxp-st-gravada td:last-child strong { color: #1e7e34; }
.fbxp-st-substituida td:last-child strong { color: #a76a00; }
.fbxp-st-rejeitada td:last-child strong { color: #b32d2e; }
.fbxp-envio .fbxp-rolagem { max-height: 520px; }
.fbxp-aviso { padding: 12px 16px; border: 1px solid var(--fbxp-borda); border-radius: 10px; background: rgba(255, 255, 255, .6); }
