/* Keep the original per-form save action in view. No duplicate submissions. */
.pick-sheet-save-bar {
  position: sticky;
  z-index: 5;
  bottom: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  align-self: end;
  gap: 0.6rem;
  padding: 0.75rem;
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--green);
  border-radius: 0.65rem 0.65rem 0 0;
  box-shadow: 0 -0.4rem 1.2rem rgb(11 31 51 / 12%);
}

.pick-sheet-save-bar[hidden], .pick-sheet-save-bar [hidden] { display: none; }
.pick-sheet-save-bar .button { min-height: 2.75rem; width: auto; white-space: normal; }
.pick-progress-summary { flex: 1 1 12rem; margin: 0; color: var(--navy); font-size: 0.85rem; font-weight: 700; }
.pick-sheet-save-buttons { display: flex; flex-wrap: nowrap; align-items: stretch; gap: 0.6rem; min-width: 0; max-width: 100%; }
.pick-sheet-save-buttons .button { flex: 1 1 auto; min-width: 0; }
.pick-sheet-save-buttons .pick-sheet-clear-button,
.pick-sheet-save-buttons .pick-sheet-clear-button:hover {
  color: var(--navy);
  background: var(--surface);
  border-color: #98a2b3;
}
.pick-sheet-save-buttons .pick-sheet-clear-button:disabled {
  color: #667085;
  background: #f5f7f9;
  border-color: #cdd5df;
  cursor: default;
}
.survivor-pick-sheet-shell .survivor-entry-pick-card { overflow: visible; }
.survivor-pick-sheet-shell .survivor-entry-pick-heading { border-radius: 0.6rem 0.6rem 0 0; }
.pick-game-card, .survivor-team-select-field, .tiebreak-card { scroll-margin-block: 9rem; }

.pick-team-abbreviation { display: none; }

/* Tablet widths have room for both teams on one matchup row. */
@media (min-width: 40rem) and (max-width: 72rem) {
  .main-pool-pick-sheet .pick-sheet-form { width: calc(100% - 2rem); }
  .main-pool-pick-sheet .weekly-score-card { margin-right: 1rem; }
  .main-pool-pick-sheet .pick-game-list::before { inset-inline: -1rem; }
  .main-pool-pick-sheet .team-pick-fieldset {
    grid-template-columns: minmax(0, 1fr) 3.4rem minmax(0, 1fr) 3.6rem;
    grid-template-rows: auto;
  }
  .main-pool-pick-sheet .team-pick-option:first-of-type,
  .main-pool-pick-sheet .team-pick-option:nth-of-type(2),
  .main-pool-pick-sheet .matchup-spread,
  .main-pool-pick-sheet .confidence-field { grid-column: auto; grid-row: auto; }
  .main-pool-pick-sheet .team-name-score.has-score { padding-right: 0; }
  .survivor-pick-sheet-shell .survivor-current-week-columns {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
}

@media (max-width: 40rem) {
  .autopick-full-label { display: none; }
  .pick-sheet-autopick { gap: 0.4rem; padding: 0.4rem; }
  .pick-sheet-autopick-actions { display: flex; gap: 0.3rem; }
  .pick-sheet-autopick-button { padding-inline: 0.45rem; font-size: 0.7rem; }
  .pick-sheet-form .team-pick-fieldset {
    grid-template-columns: minmax(0, 1fr) 2.3rem minmax(0, 1fr) 3.1rem;
    grid-template-rows: auto;
    padding: 0.3rem;
    gap: 0.25rem;
  }
  .pick-sheet-form .team-pick-option:first-of-type,
  .pick-sheet-form .team-pick-option:nth-of-type(2),
  .pick-sheet-form .matchup-spread,
  .pick-sheet-form .confidence-field { grid-column: auto; grid-row: auto; }
  .pick-sheet-form .confidence-field { transform: none; }
  .pick-sheet-form .team-pick-option { padding-inline: 0.4rem; gap: 0.15rem; }
  .pick-sheet-form .team-logo { width: 1.5rem; height: 1.5rem; flex-basis: 1.5rem; padding: 0; }
  .pick-sheet-form .pick-team-full-name { display: none; }
  .pick-sheet-form .pick-team-abbreviation { display: inline; }
  .pick-sheet-form .team-identity-copy { gap: 0.25rem; }
  .pick-sheet-form .team-name-score.has-score { display: flex; flex-wrap: wrap; padding-right: 0; gap: 0.25rem; }
  .pick-sheet-form .team-identity-copy { flex: 0 0 auto; max-width: 100%; }
  .pick-sheet-form .team-score { margin-left: auto; }
  .pick-sheet-form .confidence-select:not([multiple]) { font-size: 0.85rem; }
  .pick-sheet-form .confidence-select:not([multiple]):enabled { padding-left: 0.2rem; padding-right: 1rem; }
  .pick-sheet-form .team-pick-copy strong,
  .pick-sheet-form .team-score,
  .pick-sheet-form .matchup-spread { font-size: 0.85rem; }
  .pick-sheet-pick-status-key { flex-direction: column; align-items: flex-start; }
  .pick-sheet-pick-status-key ul { gap: 0.4rem 0.75rem; }
  .pick-sheet-pick-status-key li { white-space: normal; }
  .pick-sheet-save-bar .pick-progress-summary { flex-basis: 100%; }
  .pick-sheet-save-bar .button { flex: 1 1 auto; font-size: 0.875rem; padding-inline: 0.6rem; }
  .pick-sheet-actions.pick-sheet-save-bar .button { flex-basis: 9rem; min-width: 0; }
  .pick-sheet-save-buttons { width: 100%; }
  .pick-sheet-clear-full-label { display: none; }
  .pick-sheet-actions.pick-sheet-save-bar .pick-sheet-clear-button { flex: 0 0 auto; }
}

@media (max-width: 23rem) {
  .pick-sheet-form .team-pick-option { padding-inline: 0.25rem; }
  .pick-sheet-form .team-identity-copy { flex-wrap: wrap; }
  .pick-sheet-form .team-name { flex-basis: 100%; }
  .pick-sheet-form .team-name-score.has-score { flex-direction: column; align-items: stretch; }
  .pick-sheet-form .team-score { margin-left: 0; }
}

@media (max-width: 48rem) {
  .poolwide-picks-page-shell .poolwide-picks-scroll-controls { display: none; }
  .main-poolwide-page .poolwide-picks-sort {
    grid-template-columns: minmax(0, 1fr);
    padding: 0.65rem;
    gap: 0.5rem;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 0.65rem;
  }
  .main-poolwide-page .poolwide-week-selector { border-right: 0; padding-right: 0; }
  .main-poolwide-page .poolwide-week-field { width: 100%; justify-content: space-between; }
  .main-poolwide-page .poolwide-picks-sort-label { grid-row: 2; grid-column: 1; }
  .main-poolwide-page .poolwide-picks-sort-actions { grid-row: 3; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .main-poolwide-page .poolwide-picks-sort-button { padding-inline: 0.3rem; text-align: center; }
  .poolwide-picks-page-shell .pick-status-key { flex-direction: column; align-items: flex-start; }

}

@media print {
  .skip-link, .pick-sheet-save-bar { display: none !important; }
}

@media (max-width: 40rem) {
  .main-poolwide-page .poolwide-week-selector,
  .survivor-pick-sheet-shell .survivor-selected-team-status { display: none; }
  .main-poolwide-page .poolwide-picks-sort-label { grid-row: 1; }
  .main-poolwide-page .poolwide-picks-sort-actions { grid-row: 2; }
  .survivor-pick-sheet-shell .survivor-current-week-columns { grid-template-columns: minmax(0, 1fr); }
}

/* Read-only sheets reached from standings share the phone matchup treatment. */
@media (max-width: 40rem) {
  .standings-table { min-width: 31rem; width: max(100%, 31rem); }
  .what-if-standings-table { min-width: 25rem; width: max(100%, 25rem); }
  .standings-table .standings-rank-column { width: 3.5rem; }
  .standings-table .standings-username-column { width: 9.5rem; }
  .standings-table .standings-points-column, .standings-table .standings-record-column, .standings-table .standings-diff-column { width: 4rem; }
  .what-if-standings-table .standings-diff-column { width: auto; }
  .standings-table .standings-prize-column { width: auto; }
  .standings-card .standings-table th, .standings-card .standings-table td { padding: 0.65rem 0.4rem; font-size: 0.8125rem; }
  .standings-username-link { overflow-wrap: anywhere; font-weight: 700; }
  .standings-table > tbody > tr > td:nth-child(2) { font-weight: 700; }
  .poolwide-picks-table .poolwide-username-column,
  .poolwide-picks-table .poolwide-username-cell { width: 9.5rem; min-width: 9.5rem; max-width: 9.5rem; padding-inline: 0.65rem; }
}

@media (max-width: 40rem) {
  .what-if-games-table { display: block; min-width: 0; }
  .what-if-games-table colgroup { display: none; }
  .what-if-games-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .what-if-games-table tbody { display: grid; gap: 0.6rem; padding: 0.6rem; }
  .what-if-games-table tbody tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.4rem;
    padding: 0.6rem;
    border: 1px solid var(--border);
    border-radius: 0.65rem;
    background: var(--surface);
  }
  .what-if-games-table tbody tr > * { height: auto; min-width: 0; padding: 0; border: 0; }
  .what-if-games-table tbody th { display: none; }
  .what-if-games-table tbody td:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .what-if-games-table tbody td:nth-child(3) { grid-column: 1; grid-row: 1; text-align: left; font-size: 0.75rem; white-space: normal; }
  .what-if-games-table tbody td:nth-child(4) { grid-column: 2; grid-row: 1; text-align: right; }
  .what-if-winner-option { min-height: 2.75rem; font-size: 0.85rem; }
  .what-if-page-shell .what-if-preset-button, .what-if-page-shell .poolwide-picks-sort-button { min-height: 2.75rem; }
  .what-if-page-shell .what-if-view-control { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; }
  .what-if-page-shell .what-if-tiebreak-field { flex-direction: row; justify-content: space-between; }
  .what-if-page-shell .what-if-tiebreak-field label { max-width: 70%; }
  .what-if-page-shell .what-if-section-heading { min-height: 0; }
}

.pick-sheet-toolbar > .pick-sheet-save-status { flex-basis: 0; }

.pick-sheet-toolbar-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

.button.pick-sheet-print-button {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--navy);
  background: linear-gradient(180deg, #fffdf7, #f5f0e4);
  border: 1px solid #d5d1c6;
  border-radius: 0.65rem;
  box-shadow: inset 0 1px 0 #ffffff;
}

.button.pick-sheet-print-button:hover {
  color: var(--navy);
  background: #eee8d9;
  border-color: #bcb5a5;
}

.button.pick-sheet-print-button:active {
  background: #e5dece;
  box-shadow: inset 0 1px 2px rgb(11 31 51 / 8%);
}

.pick-game-meta .game-status[hidden] { display: none; }

.confidence-select option {
  color: #17212b;
  background-color: #ffffff;
}

.confidence-select option.is-assigned { background-color: #e5e7eb; }

.pick-sheet-toolbar-controls .pick-sheet-autopick {
  min-width: 0;
  margin-left: 0;
}

.pick-time-mobile { display: none; }

.pick-game-duplicate-notice {
  color: #b91c1c;
  font-size: 0.8rem;
  font-weight: 700;
}

.has-duplicate-points .confidence-select {
  border: 2px solid #b91c1c;
}

@media (max-width: 40rem) {
  .pick-time-desktop { display: none; }
  .pick-time-mobile { display: inline; }

  .pick-game-time-divider {
    flex-wrap: nowrap;
    gap: 0.25rem;
  }

  .pick-game-group-deadline {
    width: auto;
    white-space: nowrap;
  }

  .pick-game-kickoff { white-space: nowrap; }
}

/* Keep the native mobile picker, with a plain numeric face over its option label. */
.confidence-display { display: none; }

@media (max-width: 40rem) {
  .confidence-field.has-mobile-confidence-labels { position: relative; }

  .confidence-field.has-mobile-confidence-labels .confidence-select {
    color: transparent;
    -webkit-text-fill-color: transparent;
  }

  .confidence-field.has-mobile-confidence-labels option {
    color: #17212b;
    -webkit-text-fill-color: #17212b;
  }

  .confidence-field.has-mobile-confidence-labels .confidence-display {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 0.2rem;
    padding-right: 1rem;
    color: var(--navy);
    font-size: 0.85rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    pointer-events: none;
  }
}

@media (max-width: 40rem) {
  .standings-card .standings-table tr.is-standings-champion .standings-rank {
    min-width: 2.55rem;
    padding-inline: 0.2rem;
    gap: 0.12rem;
  }
}
