* {
  box-sizing: border-box;
}
body {
  font-family: Arial, sans-serif;
  margin: 0; /* let the container handle spacing */
}
.container {
  max-width: 450px;
  margin: 1rem auto; /* centers horizontally + gives 1rem side margins */
  padding: 0 1rem; /* ensures content never touches the edges */
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

#loginMessage {
  display: none;
  font-size: 14px;
  text-align: center;
  margin: 0;
}

.scheduleDate {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 16px;
}
.scheduleDate select {
  font-size: 16px;
}

h2 {
  font-size: 16px;
  margin-bottom: 1rem;
  text-align: center;
}

.auth {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.auth input {
  flex: 1;
  padding: 0.5rem;
  font-size: 14px;
}

/* do this later...
#loginMessage {
  display: none;
  color: red;
  font-size: 14px;
  text-align: center;
  margin-top: 0.5rem;
}
*/
.heading {
  width: 100%;
  font-size: 14px;
  margin: 0 0 0.5rem 0;
  text-align: center;
}

.teams {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0.5rem;
  line-height: 1.7;
}
.teams div {
  width: 50%;
  display: flex;
  align-items: center;
  gap: 0.4rem;
}

/* Score Label Styles */
/* Slider track wrapper */
.sliderTrack {
  width: 80%; /* same width as your slider */
  margin-left: auto; /* pushes slider to align under scoreLabel */
}

/* Score ruler track wrapper */
.scoreTrack {
  width: 76%; /* EXACT match to sliderTrack */
  margin-left: 22%; /* aligns ruler with slider start */
}
.scoreScaleWrapper {
  width: 100%;
  display: flex;
  justify-content: center;
  margin-bottom: 10px;
}

/* Score ruler container */
.scoreScaleWrapper {
  width: 100%;
  margin-top: 1rem;
}

.scoreLabel {
  width: 100%;
  position: relative;
  height: 40px;
}

/* Existing tick line */
.scoreLabel .ticks {
  position: relative;
  height: 20px;
  border-bottom: 2px solid #444;
}

/* Existing tick marks */
.scoreLabel .tick {
  position: absolute;
  bottom: 0;
  width: 1px;
  background: #444;
}

.scoreLabel .tick[data-value='0'] {
  left: calc(100% * (0 / 3));
  height: 10px;
}
.scoreLabel .tick[data-value='0.5'] {
  left: calc(100% * (0.5 / 3));
  height: 6px;
}
.scoreLabel .tick[data-value='1'] {
  left: calc(100% * (1 / 3));
  height: 10px;
}
.scoreLabel .tick[data-value='1.5'] {
  left: calc(100% * (1.5 / 3));
  height: 6px;
}
.scoreLabel .tick[data-value='2'] {
  left: calc(100% * (2 / 3));
  height: 10px;
}
.scoreLabel .tick[data-value='2.5'] {
  left: calc(100% * (2.5 / 3));
  height: 6px;
}
.scoreLabel .tick[data-value='3'] {
  left: calc(100% * (3 / 3));
  height: 10px;
}

/* Existing number labels */
.scoreLabel .numbers {
  position: relative;
  height: 20px;
}

.scoreLabel .num {
  position: absolute;
  top: 2px;
  transform: translateX(-48%);
  font-size: 14px;
  color: #333;
}

.scores {
  /* width: 100%; */
  /* padding: 10px; */
  font-size: 14px;
  padding: 0.5rem;
  display: none;
}

.scores .team {
  display: flex;
  align-items: center;
  margin-top: 1.5rem;
  gap: 0.5rem;
}
.scores .team input {
  width: 100%;
  /* margin-top: 1.5rem; */
}
#a-value,
#b-value,
#c-value {
  width: 10%;
  text-align: center;
  font-weight: bold;
  color: #ff0000;
}

.total {
  /* grid-row: 2; */
  grid-column: 2;
}

button {
  width: 100%;
  padding: 1rem;
  font-size: 14px;
  background-color: #098a09;
  color: white;
  border: none;
  cursor: pointer;
  border-radius: 6px;
}
