.bracket-approval { min-width: 0; }
.bracket-approval .section-head { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.bracket-approval .section-head h2 { flex: 1 1 210px; margin: 0; }
.bracket-approval [data-bracket-review-refresh] { min-height: 44px; padding: 10px 4px; }
.bracket-review-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 12px; }
.bracket-review-filters button, .bracket-review-actions button {
  min-height: 46px;
  border: 1px solid #45695b;
  border-radius: 12px;
  padding: 10px 14px;
  background: #17382e;
  color: #eff8f3;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.bracket-review-filters button { flex: 1 1 110px; }
.bracket-review-filters button[aria-pressed="true"] { border-color: #18c9e8; background: #15454a; }
.bracket-review-filters span { margin-left: 5px; }
.bracket-approval button:disabled { opacity: .5; cursor: default; }
.bracket-approval :is(button, summary):focus-visible { outline: 3px solid #18c9e8; outline-offset: 3px; }
.bracket-review-message:empty { display: none; }
.bracket-review-entry {
  margin-top: 16px;
  padding: 16px;
  border: 1px solid #36534a;
  border-radius: 16px;
  background: #10271e;
  overflow-wrap: anywhere;
}
.bracket-review-entry-top { display: flex; align-items: flex-start; flex-wrap: wrap; gap: 12px; }
.bracket-review-entry-heading { display: flex; flex: 1 1 220px; align-items: flex-start; flex-wrap: wrap; gap: 10px; }
.bracket-review-entry-heading h3 { flex: 1 1 150px; margin: 0; font-size: 18px; }
.bracket-review-entry p { line-height: 1.5; margin: 10px 0; }
.bracket-review-status {
  border-radius: 8px;
  background: #3a3820;
  color: #ffe7a8;
  padding: 5px 8px;
  font-size: 12px;
  font-weight: 700;
  text-transform: capitalize;
}
.bracket-review-status[data-status="approved"] { background: #214531; color: #ceefc5; }
.bracket-review-status[data-status="rejected"] { background: #4b2b2b; color: #ffcdcd; }
.bracket-review-notice { border-left: 3px solid #e1bc69; padding-left: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.bracket-review-picks { margin: 14px 0 6px; }
.bracket-review-picks > summary { min-height: 44px; padding: 12px 0; color: #64dff0; cursor: pointer; font-weight: 700; }
.bracket-review-rounds { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr)); gap: 12px; }
.bracket-review-rounds section { min-width: 0; }
.bracket-review-rounds h4 { margin: 10px 0; color: #b9c9c2; }
.bracket-review-rounds ol { padding-left: 24px; margin: 0; }
.bracket-review-rounds li { margin-bottom: 12px; padding-left: 2px; font-size: 13px; line-height: 1.5; }
.bracket-review-rounds li span, .bracket-review-rounds li strong { display: block; }
.bracket-review-rounds li span { color: #b9c9c2; }
.bracket-review-actions { display: flex; flex: 0 1 auto; flex-wrap: wrap; gap: 6px; }
.bracket-review-actions button { flex: 0 0 auto; min-height: 44px; padding: 7px 10px; font-size: 12px; border-radius: 8px; }
.bracket-review-actions [data-bracket-review-status="approved"] { background: #25523c; border-color: #74ad86; }
.bracket-review-actions [data-bracket-review-status="rejected"] { background: #3a2525; border-color: #95605e; }
.bracket-review-actions [data-bracket-clear-entry] { background: transparent; border-color: #778b81; color: #c8d4cd; }
.bracket-review-status[data-status="cleared"] { background: #303b37; color: #c8d4cd; }
.bracket-submission-controls { margin-top: 20px; }
.bracket-submission-controls .subtle { text-align: center; font-size: 13px; line-height: 1.5; margin-top: 12px; }
.leaderboard-row.bracket-approved-row { grid-template-columns: minmax(0, 1fr) auto; }
.bracket-approved-row strong { overflow-wrap: anywhere; }
.bracket-final-prediction {
  min-width: 0;
  margin: 0 0 16px;
  padding: 14px;
  border: 1px solid #557245;
  border-radius: 14px;
  background: #10271e;
}
.bracket-final-prediction legend { padding: 0 6px; color: #ffe7a8; font-size: 15px; font-weight: 800; }
.bracket-final-score-teams { display: grid; gap: 12px; }
.bracket-final-team-score { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.bracket-final-team-score > span { min-width: 0; overflow-wrap: anywhere; font-size: 14px; font-weight: 700; }
.bracket-final-team-score small { display: block; margin-top: 4px; color: #b9c9c2; font-size: 12px; font-weight: 400; }
.bracket-final-score-number { display: grid; place-items: center; width: 88px; flex: 0 0 88px; min-height: 44px; color: #ceefc5; font-size: 23px; }
.bracket-final-team-score select {
  width: 88px;
  height: 44px;
  min-height: 44px;
  flex: 0 0 88px;
  border: 1px solid #74ad86;
  border-radius: 8px;
  padding: 8px 24px 8px 8px;
  appearance: none;
  background: linear-gradient(45deg, transparent 50%, #b9c9c2 50%) calc(100% - 13px) 18px / 5px 5px no-repeat,
    linear-gradient(135deg, #b9c9c2 50%, transparent 50%) calc(100% - 8px) 18px / 5px 5px no-repeat #17382e;
  color: #eff8f3;
  font: inherit;
  font-size: 16px;
  color-scheme: dark;
}
.bracket-final-team-score select:focus-visible { outline: 3px solid #18c9e8; outline-offset: 3px; }
.bracket-final-prediction p { margin: 12px 0 0; color: #b9c9c2; font-size: 12px; line-height: 1.5; }
.bracket-final-prediction:disabled { opacity: .7; }
.bracket-final-pick-first { margin-top: 0 !important; }
.bracket-tiebreak-detail { line-height: 1.5; overflow-wrap: anywhere; }
@media (max-width: 480px) {
  .bracket-review-entry { padding: 12px; }
  .bracket-review-filters { gap: 6px; }
  .bracket-review-filters button { flex-basis: 85px; padding: 10px 7px; font-size: 13px; }
}
