/* StationAdmin Tools – Shared Base Styles
 *
 * Common styles shared across all tool pages.
 * Individual tool stylesheets only override tool-specific layout/components.
 */

/* Typography */
.sat-tool__title {
  font-size: 1.5rem;
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.sat-tool__description {
  color: #555;
  margin-bottom: 1.5rem;
}

/* Field layout */
.sat-field {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
  margin-bottom: 1rem;
}

.sat-field label {
  font-weight: 600;
  font-size: 0.9rem;
}

.sat-field input,
.sat-field select {
  padding: 0.5rem 0.75rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
  width: 100%;
  box-sizing: border-box;
}

/* Inline field variant (used by show clock builder) */
.sat-field--inline {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.sat-field--inline label {
  font-size: 0.85rem;
  font-weight: 600;
}

.sat-field--inline input[type="text"],
.sat-field--inline input[type="number"] {
  padding: 0.45rem 0.6rem;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 0.95rem;
  width: 140px;
  box-sizing: border-box;
}

.sat-field--inline input[type="color"] {
  width: 48px;
  height: 36px;
  padding: 2px;
  border: 1px solid #ccc;
  border-radius: 4px;
  cursor: pointer;
}

.sat-field__hint {
  font-size: 0.8rem;
  color: #777;
  margin-top: 0.2rem;
}

/* Buttons */
.sat-btn--primary {
  background: #2a9d8f;
  color: #fff;
  border: none;
  padding: 0.65rem 1.5rem;
  border-radius: 4px;
  font-size: 1rem;
  cursor: pointer;
  margin-top: 0.5rem;
  display: inline-block;
  text-decoration: none;
}

.sat-btn--primary:hover {
  background: #228074;
  color: #fff;
}

.sat-btn--secondary {
  background: #eee;
  color: #14213d;
  border: 1px solid #ccc;
  padding: 0.6rem 1.25rem;
  border-radius: 4px;
  font-size: 0.95rem;
  cursor: pointer;
  margin-right: 0.5rem;
}

.sat-btn--secondary:hover {
  background: #ddd;
}

/* Results table */
.sat-results-table {
  width: 100%;
  border-collapse: collapse;
}

/* Results table — key/value rows (tbody th + td). Do NOT style thead th here:
   multi-column grids (e.g. Loudness upload) use thead and need auto column widths. */
.sat-results-table th,
.sat-results-table td {
  padding: 0.5rem 0.75rem;
  text-align: left;
  border-bottom: 1px solid #eee;
}

.sat-results-table tbody th {
  font-weight: 600;
  width: 60%;
}

.sat-results-table thead th {
  font-weight: 600;
  width: auto;
  white-space: nowrap;
}

/* Tools index grid (shortcode [sa_tools_index]) */
.sat-tools-index {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  gap: 1.5rem;
  margin: 1.5rem 0;
}

.sat-tools-index__card {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 1.25rem 1.5rem 1.5rem;
  background: #fafafa;
  display: flex;
  flex-direction: column;
}

.sat-tools-index__card-title {
  font-size: 1.1rem;
  font-weight: 700;
  margin: 0 0 0.5rem;
}

.sat-tools-index__card-title a {
  color: #14213d;
  text-decoration: none;
}

.sat-tools-index__card-title a:hover {
  color: #2a9d8f;
}

.sat-tools-index__card-desc {
  font-size: 0.9rem;
  color: #555;
  flex: 1;
  margin: 0 0 1rem;
}

.sat-tools-index__cta {
  align-self: flex-start;
  margin-top: 0;
}
