/* playsignup/assets/playtimes.css
   Styles for the Chaser Play Times signup UI. Scoped under #playtimes-section so it does
   not affect the rest of index.html. Tuned to sit inside the existing gray (#d4d4d4) modal. */

#playtimes-section {
  font-family: Arial, Helvetica, sans-serif;
  color: #222;
  font-size: 13px;
}
#playtimes-section hr {
  border: 0;
  border-top: 1px solid #999;
  margin: 14px 0 10px;
}
#playtimes-section .pt-heading {
  font-size: 13px;
  line-height: 1.4;
}

#pt-controls {
  margin: 8px 0 12px;
}
#pt-controls .pt-row {
  margin: 6px 0;
}
#pt-controls .pt-hint {
  font-size: 11px;
  color: #666;
}
.pt-toggle-btn {
  font-family: inherit;
  font-size: 12px;
  padding: 3px 10px;
  margin: 0 6px;
  border: 1px solid #2b6cb0;
  background: #2b6cb0;
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.pt-toggle-btn:hover { background: #245a96; }
.pt-toggle-state.pt-on { color: #1a7f1a; font-weight: bold; }
.pt-toggle-state.pt-off { color: #888; }
#pt-controls label {
  cursor: pointer;
}
#pt-nickname {
  padding: 3px 6px;
  font-size: 13px;
  width: 220px;
  max-width: 80%;
  border: 1px solid #888;
  border-radius: 3px;
}

.pt-status {
  min-height: 1em;
  margin: 6px 0;
  font-size: 12px;
  color: #1a5e1a;
}
.pt-status.pt-status-warn { color: #9a5b00; }
.pt-status.pt-status-error { color: #a40000; }

/* Cards */
.pt-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 10px;
  /* No inner max-height/overflow: the modal overlay (.modal { overflow:auto }) is the single
     scroll context. A nested vh-based scroll region does not respond to touch on the mobile
     (no-viewport-meta) zoomed-out rendering, leaving content unreachable. */
}
.pt-card {
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 6px;
  padding: 10px 12px;
  box-shadow: 0 1px 2px rgba(0,0,0,0.15);
}
.pt-card.pt-soon {
  border-color: #c08400;
  box-shadow: 0 0 0 2px rgba(255,170,0,0.45);
}
.pt-card.pt-live {
  border-color: #1a7f1a;
  box-shadow: 0 0 0 2px rgba(30,160,30,0.5);
}
.pt-card.pt-ended {
  opacity: 0.6;
}

.pt-card-title {
  font-weight: bold;
  font-size: 14px;
  margin-bottom: 2px;
}
.pt-card-when {
  color: #555;
  font-size: 12px;
  margin-bottom: 6px;
}
.pt-countdown {
  font-weight: bold;
  font-size: 13px;
  margin: 6px 0;
}
.pt-countdown.pt-live-text { color: #1a7f1a; }
.pt-countdown.pt-ended-text { color: #888; }
.pt-countdown.pt-soon-text { color: #c08400; }

.pt-zones {
  list-style: none;
  margin: 6px 0;
  padding: 0;
  font-size: 11.5px;
  color: #333;
}
.pt-zones li {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 1px 0;
}
.pt-zones .pt-zone-name { color: #666; }

.pt-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 8px;
}
.pt-count {
  font-size: 12px;
  color: #444;
}
.pt-count b { font-size: 14px; }

.pt-btn {
  font-family: inherit;
  font-size: 12px;
  padding: 5px 10px;
  border: 1px solid #2b6cb0;
  background: #2b6cb0;
  color: #fff;
  border-radius: 4px;
  cursor: pointer;
}
.pt-btn:hover { background: #245a96; }
.pt-btn.pt-btn-cancel {
  border-color: #999;
  background: #eee;
  color: #333;
}
.pt-btn.pt-btn-cancel:hover { background: #ddd; }
.pt-btn.pt-btn-join {
  border-color: #1a7f1a;
  background: #1a7f1a;
  color: #fff;
}
.pt-btn.pt-btn-join:hover { background: #166916; }
.pt-btn[disabled] { opacity: 0.6; cursor: default; }

/* Tabs (used in the index.html #myModal; harmless/absent on the standalone page) */
.pt-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 4px;
  border-bottom: 2px solid #999;
  margin: 4px 0 12px;
}
.pt-tab {
  flex: 1 1 0;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
  line-height: 1.2;
  padding: 7px 12px;
  border: 1px solid #999;
  border-bottom: none;
  background: #bcbcbc;
  color: #222;
  cursor: pointer;
  border-radius: 6px 6px 0 0;
  white-space: normal;
  text-align: center;
}
.pt-tab:hover { background: #cfcfcf; }
.pt-tab-active {
  background: #fff;
  font-weight: bold;
  position: relative;
  top: 2px;
}
.pt-hidden { display: none !important; }
