body { font-family: sans-serif; background: #f4f6f9; color: #333; margin: 30px; }
.container { 
  background: #fff; 
  max-width: 680px; 
  margin: 0 auto 30px auto; 
  padding: 25px; 
  border-radius: 6px;
  box-shadow: 4px 0 0 #28a745 inset, 0 4px 12px rgba(0,0,0,0.08);
}
h1 {
  font-size: 1.5rem; /* Adjusts the text scale to mimic an h2 structure */
  margin-top: 0;
}
h2 { color: #1e293b; margin-top: 0; display: flex; justify-content: space-between; align-items: center; }
h3 { color: #334155; margin-top: 5px; border-bottom: 2px solid #e2e8f0; padding-bottom: 6px; }
.form-group { margin-bottom: 20px; }
label { font-weight: bold; display: block; margin-bottom: 6px; }
input[type="text"] { width: 100%; padding: 10px; font-size: 1rem; box-sizing: border-box; border: 1px solid #ccc; border-radius: 4px; }
.player-row { display: flex; justify-content: space-between; align-items: center; padding: 12px 8px; border-bottom: 1px solid #eee; border-left: 4px solid transparent; }
.picker-highlight { background: #e2f0d9; border-left-color: #28a745; }
.player-label-block { display: inline-flex; align-items: center; gap: 8px; line-height: 1; }
.badge-picker { background: #28a745; color: white; font-size: 0.75rem; font-weight: bold; padding: 4px 8px; border-radius: 3px; text-transform: uppercase; display: inline-flex; align-items: center; margin: 0; }
.controls-wrapper { display: inline-flex; align-items: center; gap: 15px; }
.chk-label { display: inline-flex; align-items: center; gap: 8px; font-weight: normal; cursor: pointer; margin: 0; }
.large-chk { transform: scale(1.4); margin: 0; cursor: pointer; }
.status-badge { font-weight: bold; font-size: 1.1rem; display: inline-block; width: 24px; text-align: right; }
.btn-submit { background: #28a745; color: white; border: none; padding: 12px 20px; font-size: 1rem; font-weight: bold; border-radius: 4px; cursor: pointer; width: 100%; margin-top: 15px; }
.btn-submit:hover { background: #218838; }
.alert-success { background: #d4edda; color: #155724; padding: 10px; margin-bottom: 15px; border-radius: 4px; font-weight: bold; text-align: center; }

/* Relational Dashboard Table Formatting Infrastructure */
.dashboard-table { width: 100%; border-collapse: collapse; margin-top: 10px; font-size: 0.95rem; }
.dashboard-table th, .dashboard-table td { padding: 10px 12px; border: 1px solid #e2e8f0; text-align: left; }
.dashboard-table th { background: #f8fafc; color: #475569; font-weight: bold; }
.dashboard-table tr:hover td { background: #fef9c3; } /* High-visibility yellow cell hover matrix preference */
.text-center { text-align: center !important; }
.action-link { text-decoration: none; font-weight: bold; margin-right: 10px; }
.action-edit { color: #0284c7; }
.action-delete { color: #ef4444; }
.badge-count { background: #f1f5f9; color: #334155; padding: 2px 8px; border-radius: 10px; font-weight: bold; font-size: 0.85rem; }

/* Sorting Control Styles */
.sorting-controls {
  margin-bottom: 20px;
  display: flex;
  gap: 10px;
  align-items: center;
  background: #f8fafc;
  padding: 12px;
  border-radius: 6px;
  border: 1px solid #e2e8f0;
  white-space: nowrap;
  overflow-x: auto;
}

.sorting-controls strong {
  color: #475569;
  font-size: 0.9rem;
}

.sorting-controls button {
  border: none;
  padding: 6px 12px;
  border-radius: 4px;
  cursor: pointer;
  font-weight: bold;
  font-size: 0.85rem;
}

/* Individual Player Grid Rows */
.player-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  margin-bottom: 8px;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  background: #fff;
}

.player-label-block {
  flex: 1;
  min-width: 200px;
}

.badge-picker {
  margin-left: 6px;
  background: #fef3c7;
  color: #d97706;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: bold;
}

.controls-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 2;
  padding: 0 15px;
}

.song-input {
  flex-grow: 1;
  padding: 6px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.status-badge {
  min-width: 32px;
  text-align: center;
  font-size: 1.2rem;
}

.status-badge a {
  text-decoration: none;
  display: inline-block;
  padding: 2px 6px;
}

.standings-stats-block {
  display: flex;
  gap: 15px;
  align-items: center;
  justify-content: flex-end;
  width: 160px;
  font-size: 0.9rem;
}

.standings-stats-block .badge-crown {
  font-weight: bold;
  background: #f1f5f9;
  padding: 2px 8px;
  border-radius: 4px;
  color: #1e293b;
}

.standings-stats-block .badge-density {
  background: #e2f0d9;
  color: #155724;
  padding: 2px 8px;
  border-radius: 4px;
  font-weight: 500;
}

/* Historic Ledger Box Custom Adjustments */
.container-historical {
  box-shadow: 4px 0 0 #0284c7 inset, 0 4px 12px rgba(0,0,0,0.08);
}

.alert-deleted {
  background: #fde8e8;
  color: #9b1c1c;
}
