/* General body styling */
body {
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.5;
  margin: 1rem;
  background-color: #fff;
  color: #000;
}

h1 {
  font-size: 1.8rem;
  text-align: center;
  margin-bottom: 1.5rem;
  color: #222;
}

/* Container for all tables */
#tablesContainer {
  width: 100%;
  overflow-x: auto;
  margin-bottom: 2rem;
}

/* Table styling */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 2rem;
}

/* Table headers (clickable for sorting) */
th, td {
  padding: 0.6rem 0.8rem;
  text-align: left;
  border: 1px solid #ddd;
}

th {
  background-color: #111; /* dark top bar */
  color: #fff; /* white text on top bar */
  cursor: pointer;
  user-select: none;
}

th.asc::after {
  content: " ▲";
}

th.desc::after {
  content: " ▼";
}

/* Highlight year row */
thead tr.year-row th {
  background-color: #ff9f1c; /* bright orange */
  font-weight: bold;
  font-size: 1.2rem; /* slightly bigger */
  text-align: center; /* horizontal centering */
  vertical-align: middle; /* vertical centering */
  color: #111; /* dark text on orange */
  padding: 0.8rem 0; /* optional: adjust row height */
}



/* Table body background */
tbody tr {
  background-color: #ffbf69; /* softer orange for body rows */
}

/* Row hover effect */
tbody tr:hover {
  background-color: #ffd88f; /* slightly lighter on hover */
}

/* Responsive adjustments */
@media (max-width: 768px) {
  th, td {
    padding: 0.5rem 0.6rem;
    font-size: 0.9rem;
  }
  h1 {
    font-size: 1.5rem;
  }
}

@media (max-width: 480px) {
  th, td {
    padding: 0.4rem 0.5rem;
    font-size: 0.85rem;
  }
  h1 {
    font-size: 1.3rem;
  }
}

/* Floating bottom-right Google Form button */
.submit-btn {
  position: fixed;
  bottom: 20px;       /* distance from bottom */
  right: 20px;        /* distance from right */
  background-color: #f04e23;
  color: white;
  padding: 0.75rem 1.25rem;
  border-radius: 50px;
  font-weight: bold;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(0,0,0,0.3);
  z-index: 1000;
  font-size: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Hover effect */
.submit-btn:hover {
  background-color: #d73b1e;
  transition: 0.2s;
}

/* Mobile optimization: smaller padding and font */
@media screen and (max-width: 600px) {
  .submit-btn {
    padding: 0.5rem 1rem;
    font-size: 0.85rem;
  }
}

/* Extra small screens: show only icon */
@media screen and (max-width: 360px) {
  .submit-btn span {
    display: none;
  }
}

.subtitle {
  text-align: center;
  font-size: 1rem;
  color: #444;
  margin-top: -0.5rem;
  margin-bottom: 1.5rem;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.4;
}

/* Slightly smaller on mobile */
@media (max-width: 480px) {
  .subtitle {
    font-size: 0.9rem;
  }
}
