/* LBX Partidas: passador e página de envio. Escopo .lbxp-*; herda fonte e cores do Tema-LBX. */
.lbxp-passador, .lbxp-envio, .lbxp-aviso {
  --lbxp-azul: #0C008F;
  --lbxp-clara: #f6e27f;   /* amarelo */
  --lbxp-escura: #2f8a4c;  /* verde */
  --lbxp-ultimo: #003da5; /* azul: borda nítida sobre o verde e o amarelo */
  --lbxp-borda: rgba(127, 127, 127, .3);
}
/* No perfil, o conteúdo do tema é estreito: o passador sai da coluna e usa até 1100px, centrado na tela. */
.lbxp-no-perfil { width: min(1100px, calc(100vw - 32px)); max-width: none; margin: 2rem 0 2rem 50%; transform: translateX(-50%); padding: 0; }
.lbxp-titulo { text-align: center; margin: 0 0 1rem; }
.lbxp-grade { display: grid; grid-template-columns: minmax(0, 600px) minmax(200px, 300px); gap: 20px; justify-content: center; align-items: start; }
@media (max-width: 720px) { .lbxp-grade { grid-template-columns: minmax(0, 1fr); } }

.lbxp-cabecalho { margin-bottom: 8px; }
.lbxp-jogadores { font-size: 1.05rem; }
.lbxp-res { font-weight: 700; padding: 0 .3em; }
.lbxp-evento { font-size: .85rem; opacity: .75; }
.lbxp-erro { color: #b32d2e; font-size: .9rem; }

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

.lbxp-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: 4px; overflow: hidden; outline-offset: 3px; user-select: none; }
.lbxp-casa { position: relative; display: flex; align-items: center; justify-content: center; }
.lbxp-clara { background: var(--lbxp-clara); }
.lbxp-escura { background: var(--lbxp-escura); }
.lbxp-ultimo { box-shadow: inset 0 0 0 max(3px, .75cqw) var(--lbxp-ultimo); }
.lbxp-peca { font-size: 10cqw; line-height: 1; font-family: "Segoe UI Symbol", "DejaVu Sans", "Noto Sans Symbols2", "Arial Unicode MS", serif; }
.lbxp-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); }
.lbxp-preta { color: #111; text-shadow: 0 0 1px rgba(255, 255, 255, .5); }
.lbxp-coord { position: absolute; font-size: 2.2cqw; font-weight: 700; opacity: .7; line-height: 1; }
.lbxp-coord-n { top: 2px; left: 3px; }
.lbxp-coord-l { bottom: 2px; right: 3px; }
.lbxp-clara .lbxp-coord { color: var(--lbxp-escura); }
.lbxp-escura .lbxp-coord { color: var(--lbxp-clara); }

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

.lbxp-lances { max-height: 640px; overflow-y: auto; border: 1px solid var(--lbxp-borda); border-radius: 8px; padding: 6px; font-variant-numeric: tabular-nums; }
@media (max-width: 720px) { .lbxp-lances { max-height: 180px; } }
.lbxp-par { display: grid; grid-template-columns: 3em 1fr 1fr; align-items: center; }
.lbxp-num { opacity: .6; font-size: .85rem; }
.lbxp-lance { border: 0; background: none; text-align: left; padding: 3px 6px; border-radius: 4px; cursor: pointer; color: inherit; font: inherit; }
.lbxp-lance:hover { background: rgba(12, 0, 143, .08); }
.lbxp-lance.lbxp-atual { background: var(--lbxp-azul); color: #fff; }
.lbxp-final { text-align: center; font-weight: 700; margin-top: 6px; }

.lbxp-lista { margin-top: 1.5rem; }
.lbxp-total { font-size: .9rem; opacity: .75; margin: 0 0 6px; }
.lbxp-rolagem { overflow-x: auto; }
.lbxp-tabela { width: 100%; border-collapse: collapse; font-size: .9rem; }
.lbxp-tabela th, .lbxp-tabela td { padding: 6px 8px; border-bottom: 1px solid var(--lbxp-borda); text-align: left; vertical-align: top; }
.lbxp-passador .lbxp-tabela tbody tr { cursor: pointer; }
.lbxp-passador .lbxp-tabela tbody tr:hover, .lbxp-passador .lbxp-tabela tbody tr:focus-visible { background: rgba(12, 0, 143, .06); }
.lbxp-tabela tr.lbxp-ativa { background: rgba(12, 0, 143, .1); }
.lbxp-eu { font-weight: 700; }
.lbxp-paginacao { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; align-items: center; margin-top: 10px; }
.lbxp-pag { min-width: 40px; min-height: 40px; border: 1px solid var(--lbxp-azul); background: #fff; color: var(--lbxp-azul); border-radius: 8px; cursor: pointer; font-variant-numeric: tabular-nums; }
.lbxp-pag:hover:not(:disabled), .lbxp-pag:focus-visible { background: rgba(12, 0, 143, .08); }
.lbxp-pag-atual { background: var(--lbxp-azul); color: #fff; font-weight: 700; cursor: default; }
.lbxp-pag:disabled:not(.lbxp-pag-atual) { opacity: .4; cursor: default; }
.lbxp-pag-reticencias { padding: 0 4px; opacity: .6; }
.lbxp-tabela[aria-busy="true"], .lbxp-lista[aria-busy="true"] { opacity: .6; }

.lbxp-envio .lbxp-form { display: grid; gap: 8px; max-width: 640px; margin: 1rem 0; }
.lbxp-envio textarea { font-family: ui-monospace, Consolas, monospace; font-size: .85rem; width: 100%; }
.lbxp-botao { justify-self: start; background: var(--lbxp-azul); color: #fff; border: 0; border-radius: 40px; padding: 8px 24px; cursor: pointer; }
.lbxp-botao:disabled { opacity: .6; cursor: wait; }
.lbxp-resumo { font-weight: 700; }
.lbxp-st-gravada td:last-child strong { color: #1e7e34; }
.lbxp-st-substituida td:last-child strong { color: #a76a00; }
.lbxp-st-rejeitada td:last-child strong { color: #b32d2e; }
/* Ícone ♞ nos torneios com partidas (aba Torneios do perfil e coluna Evento do passador). */
.lbxp-icone-partidas { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; margin-left: 5px; border-radius: 50%; background: #0C008F; color: #fff !important; text-decoration: none !important; font-size: 12px; line-height: 1; vertical-align: middle; }
.lbxp-icone-partidas:hover, .lbxp-icone-partidas:focus-visible { background: #2f8a4c; }
/* Botão "Partidas" ao lado do título do torneio. */
.lbxp-botao-partidas { display: inline-flex; align-items: center; gap: 6px; background: #0C008F; color: #fff !important; padding: 8px 18px; border-radius: 40px; text-decoration: none !important; font-weight: 600; }
.lbxp-botao-partidas:hover, .lbxp-botao-partidas:focus-visible { background: #2f8a4c; }
.lbxp-aviso { padding: 12px 16px; border: 1px solid var(--lbxp-borda); border-radius: 8px; }
