.jpms-schedule-wrap { width: 100%; }

.jpms-schedule {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 10px 0;
  background: #fff;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0,0,0,0.06);
  font-family: Arial, sans-serif;
}

.jpms-schedule th {
  background: #003366;
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 10px 8px;
  text-align: center;
}

.jpms-schedule td {
  padding: 10px 8px;
  text-align: center;
  vertical-align: middle;
  border-bottom: 1px solid #eef1f5;
}

.jpms-schedule tr:last-child td { border-bottom: none; }

.jpms-datecell { text-align: left; white-space: nowrap; }
.jpms-timecell { white-space: nowrap; }
.jpms-timecell--empty { color: transparent; } /* tournament: show nothing but keep layout */
.jpms-result { white-space: nowrap; font-weight: 700; }

.jpms-date-mobile { display: none; }
.jpms-date-desktop { display: inline; }

.jpms-teamcell { text-align: left; }
.jpms-team-full { display: inline; }
.jpms-team-short { display: none; font-weight: 700; }

.jpms-tournament { text-align: left; font-style: italic; opacity: 0.9; }

@media (max-width: 768px) {
  .jpms-schedule { font-size: 0.92rem; }

  .jpms-date-desktop { display: none !important; }
  .jpms-date-mobile { display: inline !important; }

  .jpms-col-time,
  .jpms-timecell { display: none !important; }

  .jpms-team-full { display: none !important; }
  .jpms-team-short { display: inline !important; }

  .jpms-datecell { white-space: normal; }
}
