/**
 * meusjogos.css
 * Tela do integrante: lista dos próprios jogos (próximos com RSVP editável,
 * anteriores só-leitura). Reaproveita .rsvp-btn de partida.css.
 */
.mj-list { list-style: none; margin: 0 0 8px; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.mj-item {
  background: var(--giz); color: var(--preto);
  border-radius: 10px; box-shadow: var(--sombra);
  padding: 16px;
}
.mj-item.is-past { opacity: 0.85; }
.mj-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.mj-item .game-date { font-weight: 700; }

.mj-buttons { gap: 8px; }
.mj-team {
  margin-top: 12px; font-size: 0.8rem; color: rgba(23, 21, 18, 0.65);
  background: rgba(35, 77, 53, 0.08); border-radius: 8px; padding: 8px 10px;
}
.mj-team b { color: var(--campo); }
.mj-past-status { font-size: 0.85rem; color: rgba(23, 21, 18, 0.6); }
.mj-past-status b { color: var(--terra); }

/* aviso de aprovação pendente + presença travada */
.mj-pending {
  background: rgba(232, 185, 59, 0.14);
  border: 1px solid rgba(232, 185, 59, 0.5);
  color: var(--branco);
  border-radius: 10px; padding: 12px 14px; margin-bottom: 16px;
  font-size: 0.9rem; line-height: 1.5;
}
.mj-locked {
  font-size: 0.82rem; color: rgba(23, 21, 18, 0.5);
  background: rgba(23, 21, 18, 0.05); border-radius: 8px; padding: 10px 12px;
}
.mj-waitlist {
  margin-top: 10px; font-size: 0.82rem; color: var(--preto);
  background: rgba(232, 185, 59, 0.16); border: 1px solid rgba(232, 185, 59, 0.5);
  border-radius: 8px; padding: 8px 12px;
}

/* lista de integrantes (quando o dono libera) */
.mj-roster-wrap { margin-bottom: 16px; }
.mj-roster {
  margin-top: 10px; background: var(--giz); color: var(--preto);
  border-radius: 10px; box-shadow: var(--sombra); padding: 12px 14px;
}
.mj-roster[hidden] { display: none; }
.mj-roster-head {
  font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; text-transform: uppercase;
  letter-spacing: 0.06em; color: rgba(23, 21, 18, 0.55); margin-bottom: 8px;
}
.mj-roster-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.mj-roster-list li {
  display: flex; justify-content: space-between; align-items: center; gap: 10px;
  font-size: 0.9rem; padding: 5px 0; border-bottom: 1px dotted rgba(23, 21, 18, 0.14);
}
.mj-roster-list li:last-child { border-bottom: none; }
.mj-roster-name { font-weight: 600; }
.mj-roster-pos {
  font-family: 'JetBrains Mono', monospace; font-size: 0.66rem; letter-spacing: 0.04em;
  background: rgba(23, 21, 18, 0.08); border-radius: 6px; padding: 3px 8px; color: rgba(23, 21, 18, 0.6);
}
.mj-roster-loading { font-size: 0.85rem; color: rgba(23, 21, 18, 0.5); margin: 0; }
