@import url("https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;500;600&display=swap");
@import url('https://fonts.googleapis.com/css2?family=Roboto+Condensed:wght@300;400;500;600;700;800&display=swap');

:root {
  --bg: #f3f4f6;
  --surface: #ffffff;
  --surface-2: #f9fafb;
  --text: #111827;
  --muted: #6b7280;
  --line: #d1d5db;
  --accent: #b91c1c;
  --accent-dark: #7f1d1d;
  --ok: #166534;
  --warn: #92400e;
  --shadow: 0 10px 25px rgba(17, 24, 39, 0.08);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  background: var(--bg);
  color: var(--text);
}

button,
input,
select {
  font: inherit;
}

button {
  cursor: pointer;
}

.topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: calc(14px + env(safe-area-inset-top)) 18px 14px;
  background: #111827;
  color: white;
  position: sticky;
  top: 0;
  z-index: 10;
}

.topbar h1 {
  margin: 0;
  font-size: clamp(1.2rem, 3vw, 1.75rem);
}

.eyebrow {
  color: #fca5a5;
  font-size: .78rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sync-pill {
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  padding: 7px 10px;
  font-size: .8rem;
  white-space: nowrap;
}

.tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  position: sticky;
  z-index: 9;
  background: white;
  border-bottom: 1px solid var(--line);
}

.tabs button {
  border: 0;
  background: white;
  padding: 14px 8px;
  font-weight: 700;
  color: var(--muted);
}

.tabs button.active {
  color: var(--accent);
  box-shadow: inset 0 -3px var(--accent);
}

main {
  max-width: 1180px;
  margin: 0 auto;
  padding: 18px 14px 60px;
}

.grid {
  display: grid;
  gap: 16px;
}

.grid.two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.card {
  background: var(--surface);
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  box-shadow: var(--shadow);
  padding: 18px;
}

.card h2,
.card h3 {
  margin-top: 0;
}

.subtle {
  color: var(--muted);
}

.big-number {
  font-size: 2rem;
  font-weight: 800;
}

.field {
  display: grid;
  gap: 7px;
  margin-bottom: 14px;
}

.field label {
  font-weight: 700;
}

input,
select {
  width: 100%;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: white;
}

.checkline {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 0;
}

.checkline input {
  width: 22px;
  min-height: 22px;
}

.btn {
  border: 0;
  border-radius: 12px;
  min-height: 48px;
  padding: 11px 15px;
  font-weight: 800;
  background: #e5e7eb;
  color: var(--text);
}

.btn.primary {
  background: var(--accent);
  color: white;
}

.btn.primary:hover {
  background: var(--accent-dark);
}

.btn.ok {
  background: #dcfce7;
  color: var(--ok);
}

.btn.warn {
  background: #fef3c7;
  color: var(--warn);
}

.btn.danger {
  background: #fee2e2;
  color: #991b1b;
}

.btn.small {
  min-height: 38px;
  padding: 8px 10px;
  font-size: .88rem;
}

.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.status {
  border-radius: 14px;
  padding: 14px;
  background: var(--surface-2);
  border: 1px solid var(--line);
}

.status.ok {
  background: #f0fdf4;
  border-color: #bbf7d0;
}

.status.pending {
  background: #fffbeb;
  border-color: #fde68a;
}

.list {
  display: grid;
  gap: 10px;
}

.row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  background: white;
}

.row-main {
  min-width: 0;
}

.row-title {
  font-weight: 800;
}

.row-meta {
  color: var(--muted);
  font-size: .9rem;
  margin-top: 3px;
}

.badge {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 4px 8px;
  font-size: .78rem;
  font-weight: 800;
  background: #e5e7eb;
}

.badge.dealer {
  background: #fee2e2;
  color: #991b1b;
}

.badge.backup {
  background: #fef3c7;
  color: #92400e;
}

.badge.present {
  background: #dcfce7;
  color: #166534;
}

.table-card {
  overflow: hidden;
  padding: 0;
}

.table-card header {
  background: #111827;
  color: white;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.table-card.inactive header {
  background: #6b7280;
}

.seats {
  padding: 12px;
  display: grid;
  gap: 8px;
}

.seat {
  min-height: 48px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 9px 11px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.seat.locked {
  background: #f3f4f6;
  color: var(--muted);
}

.seat.empty {
  color: var(--muted);
}

.seat-number {
  font-weight: 900;
  min-width: 58px;
}

.notice {
  padding: 12px 14px;
  border-left: 4px solid var(--accent);
  background: #fff1f2;
  border-radius: 10px;
}

.modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(17, 24, 39, .6);
  display: grid;
  place-items: center;
  padding: 16px;
  z-index: 30;
}

.modal {
  width: min(560px, 100%);
  max-height: 90vh;
  overflow: auto;
  background: white;
  border-radius: 18px;
  padding: 20px;
}

.dealer-elimination-modal {
  width: min(760px, 100%);
  padding: 24px;
}

.empty-state {
  text-align: center;
  padding: 30px 16px;
  color: var(--muted);
}

@media (max-width: 820px) {

  .grid.two,
  .grid.three {
    grid-template-columns: 1fr;
  }

  .tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .row {
    align-items: flex-start;
    flex-direction: column;
  }

  .row .actions {
    width: 100%;
  }

  .row .btn {
    flex: 1;
  }
}

@media (display-mode: standalone) {
  .topbar {
    padding-top: calc(10px + env(safe-area-inset-top));
  }
}

.badge.locked-badge {
  background: #dbeafe;
  color: #1e40af;
}

.waitlist-public {
  display: grid;
  gap: 8px;
}

.waitlist-item {
  display: grid;
  grid-template-columns: 42px 1fr;
  align-items: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
}

.waitlist-item strong {
  font-size: 1.1rem;
}

/* Dealer iPad quick-elimination workflow */
.seat-content {
  flex: 1;
  min-width: 0;
}

.dealer-hint {
  margin: 12px 12px 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: #fff1f2;
  color: #7f1d1d;
  font-weight: 800;
  text-align: center;
}

.dealer-player-button {
  width: 100%;
  min-height: 44px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 5px 7px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 7px;
  color: inherit;
  font-weight: 900;
  text-align: right;
}

.dealer-player-button:active,
.dealer-player-button:focus-visible {
  background: #fee2e2;
  outline: 2px solid #b91c1c;
  outline-offset: 1px;
}

.dealer-seat-action {
  display: block;
  width: 100%;
  color: #991b1b;
  font-size: .76rem;
  font-weight: 800;
}

.elimination-target {
  display: grid;
  gap: 5px;
  padding: 14px;
  margin-bottom: 16px;
  border-radius: 14px;
  background: #fee2e2;
  border: 1px solid #fecaca;
}

.elimination-target strong {
  font-size: 1.2rem;
}

.dealer-modal-actions .btn {
  flex: 1;
  min-height: 54px;
}

/* Version 4: visible one-tap hitman selection */
.killer-heading {
  margin: 2px 0 10px;
  font-size: 1.05rem;
  font-weight: 900;
}

.killer-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  margin-bottom: 18px;
}

.killer-option {
  width: 100%;
  min-height: 68px;
  border: 1px solid #d1d5db;
  border-radius: 13px;
  background: white;
  padding: 10px 13px;
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 10px;
  text-align: left;
  color: var(--text);
}

.killer-option:active,
.killer-option:focus-visible {
  outline: 2px solid #b91c1c;
  outline-offset: 1px;
  background: #fff7f7;
}

.killer-option.selected {
  border-color: #b91c1c;
  background: #fee2e2;
  box-shadow: inset 0 0 0 1px #b91c1c;
}

.killer-seat {
  font-weight: 900;
  color: #991b1b;
}

.killer-name {
  font-size: 1.02rem;
  font-weight: 900;
}

.killer-option.empty-seat {
  background: #f3f4f6;
  border-color: #e5e7eb;
  color: #9ca3af;
  cursor: not-allowed;
}

.killer-option.empty-seat .killer-seat,
.killer-option.empty-seat .killer-name {
  color: #9ca3af;
}

.killer-option.eliminated-seat {
  background: #fff1f2;
  border-color: #fecdd3;
  color: #9f1239;
  cursor: not-allowed;
}

.killer-option.eliminated-seat small {
  font-size: .78rem;
  font-weight: 800;
}

.killer-option.no-hitman {
  grid-template-columns: 1fr;
  text-align: center;
  background: #f9fafb;
}

.killer-option.no-hitman.selected {
  background: #fef3c7;
  border-color: #d97706;
  box-shadow: inset 0 0 0 1px #d97706;
}

#confirmElim:disabled {
  opacity: .45;
  cursor: not-allowed;
}

@media (max-width: 560px) {
  .dealer-elimination-modal {
    width: 100%;
    padding: 18px;
  }

  .killer-list {
    grid-template-columns: 1fr;
  }

  .killer-option {
    min-height: 62px;
  }
}

/* Version 8: operational alerts */
.action-required-card {
  border: 2px solid #bbf7d0;
}

.action-required-card.has-actions {
  border-color: #f59e0b;
  background: #fffbeb;
}

.action-required-list,
.dealer-alert-list {
  display: grid;
  gap: 10px;
}

.action-required-item,
.dealer-alert-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid #fcd34d;
  border-radius: 12px;
  background: white;
}

.dealer-alert-card {
  margin-bottom: 16px;
  border: 3px solid #dc2626;
  background: #fff1f2;
}

.dealer-alert-card h2 {
  color: #991b1b;
}

.dealer-alert-item {
  border-color: #fecaca;
}

@media (max-width: 560px) {

  .action-required-item,
  .dealer-alert-item {
    align-items: stretch;
    flex-direction: column;
  }

  .action-required-item .btn,
  .dealer-alert-item .btn {
    width: 100%;
  }
}

.table-status-actions {
  align-items: flex-end;
}

.table-status-control {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.table-status-count {
  font-size: 0.78rem;
  color: var(--muted);
  line-height: 1;
}

/* Version 11: compact admin sections and dealer badges */
.collapsible-card {
  padding: 0;
  overflow: hidden;
}

.collapsible-card summary {
  list-style: none;
  cursor: pointer;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  font-size: 1.25rem;
  font-weight: 900;
}

.collapsible-card summary::-webkit-details-marker {
  display: none;
}

.collapsible-card summary:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: -3px;
}

.collapsible-card>summary .collapse-indicator {
  font-size: 1.35rem;
  line-height: 1;
  transition: transform .15s ease;
}

.collapsible-card[open]>summary .collapse-indicator {
  transform: rotate(180deg);
}

.eliminated-players-panel .collapse-indicator {
  font-size: 1.35rem;
  line-height: 1;
  transition: transform .15s ease;
}

.eliminated-players-panel[open] .collapse-indicator {
  transform: rotate(180deg);
}

.eliminated-players-panel .list {
  max-height: 240px;
  overflow-y: auto;
}

.collapsible-content {
  padding: 0 20px 20px;
}

.collapsible-content.grid {
  padding-top: 2px;
}

.compact-badge {
  min-width: 30px;
  justify-content: center;
  padding: 4px 7px;
  letter-spacing: .01em;
}

.dealer-key-card {
  margin-top: 16px;
}

.dealer-key-card h3 {
  margin-top: 0;
}

.dealer-key {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  align-items: center;
  font-size: .9rem;
  font-weight: 800;
}

.dealer-key>span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

/* Version 12: compact public seating and additional collapsible admin queues */
.seating-key-card {
  margin-top: 16px;
}

.seating-key-card h3 {
  margin-bottom: 10px;
}

.section-count {
  display: inline-flex;
  min-width: 25px;
  height: 25px;
  align-items: center;
  justify-content: center;
  margin-left: 7px;
  padding: 0 7px;
  border-radius: 999px;
  background: #e5e7eb;
  color: var(--muted);
  font-size: .78rem;
  vertical-align: middle;
}

/* Version 13: scheduled tournament check-in */
.tournament-name {
  margin: -4px 0 2px;
  font-weight: 900;
  font-size: 1.08rem;
}

.setup-status {
  margin-top: 4px;
}

input[type="date"],
input[type="time"] {
  min-width: 0;
}

.seating-log-row.acknowledged {
  opacity: 0.58;
}

.seating-log-row.acknowledged .row-title {
  text-decoration: none;
}


/* Version 21: Manage Tables is the single table-control center */
.table-card header>div:first-child {
  display: grid;
  gap: 2px;
}

.table-card header>div:first-child span {
  font-size: .8rem;
  opacity: .82;
}

.table-manage-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.table-manage-controls .btn {
  min-height: 38px;
}

.manage-tables-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.manage-tables-toolbar p {
  margin: 0;
}

.table-card.requires-action {
  border: 4px solid #f59e0b;
  box-shadow: 0 0 0 4px rgba(245, 158, 11, .18);
  animation: tableAttention 1.2s ease-in-out 2;
}

.table-card.requires-action header {
  background: #92400e;
}

@keyframes tableAttention {

  0%,
  100% {
    transform: none;
  }

  50% {
    transform: translateY(-2px);
  }
}

@media (max-width: 560px) {
  .manage-tables-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .manage-tables-toolbar .btn {
    width: 100%;
  }

  .table-card header {
    align-items: flex-start;
    gap: 10px;
  }
}

.suggestion-disabled {
  background: #d1d5db;
  color: #6b7280;
  cursor: default;
  opacity: 1;
}

.suggested-movement-list {
  display: grid;
  gap: 8px;
}

.suggested-movement-row {
  display: grid;
  grid-template-columns: minmax(140px, 1.5fr) 80px 70px 30px 80px 70px;
  gap: 10px;
  align-items: center;
  white-space: nowrap;
}

.suggested-player {
  font-weight: 800;
}

.suggested-arrow {
  text-align: center;
  font-weight: 900;
}

#rebalance.danger {
  background: #dc2626;
  color: #ffffff;
  border-color: #dc2626;
}

/* Compact Dealer iPad player rows */
.dealer-compact-player {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.dealer-player-name {
  min-width: 0;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dealer-player-badges {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  min-width: 70px;
}

/* Keep occupied Dealer iPad seats the same height as empty seats */
.dealer-compact-player {
  padding: 0;
  margin: 0;
  min-height: 0;
  line-height: 1.2;
}

.dealer-compact-player .badge {
  margin: 0;
}

.seat:has(.dealer-compact-player) {
  align-items: center;
}

.sound-event-row {
  display: grid;
  grid-template-columns: minmax(140px, 1fr) auto auto auto auto auto auto;
  align-items: center;
  gap: 8px;
  font-size: 0.88rem;
}

.sound-event-row .checkline {
  margin: 0;
  gap: 5px;
  white-space: nowrap;
}

.sound-event-row label {
  margin: 0;
  white-space: nowrap;
}

.sound-event-row input[type="number"] {
  height: 32px;
  padding: 4px 6px;
  font-size: 0.85rem;
}

.sound-event-row .btn.small {
  padding: 6px 9px;
  min-height: 32px;
  font-size: 0.82rem;
  white-space: nowrap;
}

.sound-file-name {
  font-size: 0.82rem;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 150px;
}

.sound-menu-wrap {
  position: relative;
}

.sound-menu-button {
  width: 32px;
  min-width: 32px;
  height: 32px;
  padding: 0;
  font-size: 1.2rem;
  line-height: 1;
}

.sound-menu {
  position: absolute;
  right: 0;
  top: calc(100% + 5px);
  z-index: 100;
  min-width: 180px;
  padding: 5px;
  background: #fff;
  border: 1px solid #d8dde5;
  border-radius: 8px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.16);
}

.sound-menu[hidden] {
  display: none;
}

.sound-menu-item {
  display: block;
  width: 100%;
  padding: 7px 9px;
  border: 0;
  background: transparent;
  border-radius: 5px;
  text-align: left;
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  white-space: nowrap;
}

.sound-menu-item:hover {
  background: #f1f3f6;
}

#soundEventsDetails {
  overflow: visible;
}

.seating-log-list {
  max-height: 600px;
  overflow-y: auto;
}

.tournament-log-list {
  max-height: 600px;
  overflow-y: auto;
}
/* Compact Tournament Financial Setup */
.financial-setup {
  display: grid;
  gap: 10px;
}

.financial-category {
  display: grid;
  gap: 6px;
}

.financial-category-header {
  display: flex;
  align-items: center;
  gap: 7px;
  min-height: 28px;
}

.financial-category-header strong {
  font-size: 0.95rem;
}

.financial-category-header input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
}

.financial-category-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.financial-option-list {
  display: grid;
  gap: 5px;
  margin-left: 22px;
}

.financial-option-row {
  display: grid;
  grid-template-columns: minmax(100px, 180px) 80px 30px;
  align-items: center;
  gap: 6px;
  width: fit-content;
  max-width: 100%;
}

.financial-label-input {
  width: 100%;
  min-width: 0;
  height: 30px;
  padding: 4px 7px;
  font-size: 0.86rem;
}

.financial-amount-wrap {
  display: flex;
  align-items: center;
  gap: 3px;
  white-space: nowrap;
}

.financial-amount-input {
  width: 62px;
  height: 30px;
  padding: 4px 6px;
  font-size: 0.86rem;
}

.compact-add-button,
.financial-remove-option {
  width: 28px;
  min-width: 28px;
  height: 28px;
  padding: 0;
  line-height: 1;
  font-size: 1rem;
}

/* Final pre-Sunday: one source of truth for sticky tabs + dealer elimination rows */
.dealer-elimination-modal .elimination-seat-list {
  padding: 12px;
  display: grid;
  gap: 8px;
}

.dealer-elimination-modal .elimination-seat-list .seat {
  min-height: 48px;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  padding: 9px 11px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}

.dealer-elimination-modal .elimination-seat-list .seat-number {
  font-weight: 900;
  min-width: 58px;
}

.dealer-elimination-modal .elimination-seat-list .seat-content {
  flex: 1;
  min-width: 0;
}

.dealer-elimination-modal .elimination-seat-list .dealer-player-button,
.dealer-elimination-modal .elimination-seat-list .dealer-compact-player {
  width: 100%;
  min-height: 0;
  border: 0;
  border-radius: 10px;
  background: transparent;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 70px;
  align-items: center;
  gap: 8px;
  color: inherit;
  font-weight: 900;
  line-height: 1.2;
  text-align: right;
}

.dealer-elimination-modal .elimination-seat-list .dealer-player-name {
  min-width: 0;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dealer-elimination-modal .elimination-seat-list .dealer-player-badges {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  min-width: 70px;
}

.dealer-elimination-modal .elimination-choice-selected {
  background: #fff1f2 !important;
  border-color: #ef4444 !important;
}

.dealer-elimination-modal .elimination-target-seat {
  background: #fff1f2 !important;
  border-color: #fecaca !important;
}

.dealer-elimination-modal .elimination-target-seat .dealer-player-button {
  color: #9f1239 !important;
  cursor: default !important;
}

.dealer-elimination-modal .elimination-seat-list .seat.empty {
  color: var(--muted);
}

/* Final pre-Sunday Admin operations pass */

/* Page navigation: only the active page uses the SPR accent. */
.tabs button {
  color: var(--muted);
  box-shadow: none;
}
.tabs button.active {
  color: var(--accent);
  box-shadow: inset 0 -3px var(--accent);
}
@media (max-width: 560px) {
  .tabs button {
    padding: 9px 4px;
    min-height: 42px;
    font-size: .82rem;
    line-height: 1.1;
  }
}

/* Manage Tables uses the exact typography/spacing values of .collapsible-card summary. */
.manage-tables-card {
  padding: 0;
  overflow: hidden;
}
.manage-tables-header {
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 1.25rem;
  font-weight: 900;
}
.manage-tables-title {
  margin-right: auto;
  font: inherit;
}
.manage-tables-toggle {
  border: 0;
  background: transparent;
  padding: 0;
  min-width: 24px;
  cursor: pointer;
  color: inherit;
}
.manage-tables-toggle .collapse-indicator {
  font-size: 1.35rem;
  line-height: 1;
  display: block;
}
.manage-tables-details {
  padding: 0 20px 20px;
}
.manage-tables-header #rebalance {
  white-space: nowrap;
}

/* Eliminated Players is now its own standard collapsible card. */
.eliminated-player-list {
  max-height: 360px;
  overflow-y: auto;
}

/* Tournament Control: normal actions together, destructive reset isolated. */
.tournament-control-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-top: 10px;
}
.tournament-control-primary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.reset-tournament-button {
  margin-left: auto;
}
@media (max-width: 560px) {
  .tournament-control-actions {
    align-items: stretch;
  }
  .tournament-control-primary-actions {
    flex: 1;
  }
  .reset-tournament-button {
    flex: 0 0 auto;
  }
}

/* Results are always one line per player on mobile and desktop. */
.result-row {
  display: block;
  padding: 10px 12px;
}
.result-main-line {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  white-space: nowrap;
}
.result-position {
  flex: 0 0 auto;
  font-weight: 900;
}
.result-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  font-weight: 800;
}

/* Header branding stays compact. */
.header-brand-logo {
  display: block;
  max-width: 190px;
  max-height: 30px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.branding-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
}
@media (max-width: 560px) {
  .branding-row {
    align-items: stretch;
    flex-direction: column;
  }
}

/* Keep existing internal scrolling behavior intact. */
.seating-log-list,
.tournament-log-list {
  overflow-y: auto;
}

/* SPR Results + automatic points/prizes + compact Settings */
html,
body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
}

.topbar,
.tabs,
main,
#app,
.grid,
.card {
  min-width: 0;
  max-width: 100%;
}

.topbar,
.tabs {
  width: 100%;
}

main {
  width: min(1180px, 100%);
}

/* Compact destructive action; never allow Reset Tournament to become a giant mobile block. */
.reset-tournament-button {
  min-height: 38px;
  padding: 8px 10px;
  font-size: .82rem;
  white-space: nowrap;
}

/* One Results card: aligned Tournament Director-style grid. */
.results-grid-header,
.results-grid-row {
  display: grid;
  grid-template-columns: 46px minmax(120px, 1fr) 76px 86px minmax(112px, auto);
  align-items: center;
  gap: 8px;
}

.results-grid-header {
  padding: 7px 9px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .03em;
}

.results-grid-list {
  max-height: 430px;
  overflow-y: auto;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
}

.results-grid-row {
  min-height: 40px;
  padding: 5px 9px;
  border-bottom: 1px solid #e5e7eb;
  background: #fff;
}

.results-grid-row:last-child {
  border-bottom: 0;
}

.result-rank {
  font-weight: 900;
  text-align: center;
}

.result-player {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 800;
}

.result-points,
.result-prize {
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.result-action {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

.result-action-buttons {
  min-width: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
}

.result-action-buttons .btn,
.result-action > .btn {
  min-height: 30px;
  padding: 5px 7px;
  font-size: .75rem;
  white-space: nowrap;
}

.restore-icon {
  display: none;
}

.result-status {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 3px 7px;
  border-radius: 999px;
  background: #f3f4f6;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 800;
  white-space: nowrap;
}

.results-note {
  margin-top: 7px;
  font-size: .78rem;
}

/* Reusable Points / Prize structure editors. */
.setup-engine {
  display: grid;
  gap: 12px;
}

.setup-engine-toolbar {
  display: flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
}

.setup-engine-toolbar select {
  width: min(260px, 100%);
  min-height: 36px;
  padding: 6px 8px;
  border-radius: 8px;
}

.compact-check {
  padding: 0;
  gap: 6px;
  white-space: nowrap;
}

.compact-check input {
  width: 17px;
  min-height: 17px;
  height: 17px;
}

.compact-field {
  margin-bottom: 0;
  gap: 5px;
}

.compact-field input,
.compact-field select {
  min-height: 36px;
  padding: 6px 8px;
  border-radius: 8px;
}

.points-formula-input {
  width: 100%;
  min-height: 110px;
  resize: vertical;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: white;
  color: var(--text);
  font: 500 .92rem ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.setup-engine-footer {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.formula-preview {
  min-width: 0;
  font-variant-numeric: tabular-nums;
}

.prize-settings-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.3fr) minmax(140px, 1fr) 120px auto;
  align-items: end;
  gap: 8px;
}

.prize-leftover-check {
  min-height: 36px;
  align-self: end;
}

.prize-preview-strip {
  display: flex;
  align-items: center;
  gap: 7px 14px;
  flex-wrap: wrap;
  padding: 7px 9px;
  border: 1px solid #d9dde3;
  border-radius: 9px;
  background: var(--surface-2);
  font-size: .82rem;
}

.prize-level-list {
  display: grid;
  gap: 9px;
}

.prize-level {
  overflow: hidden;
  border: 1px solid #d9dde3;
  border-radius: 10px;
  background: white;
}

.prize-level.active-prize-level {
  border-color: #f59e0b;
  box-shadow: inset 3px 0 #f59e0b;
}

.prize-level-head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 8px;
  background: #f9fafb;
  border-bottom: 1px solid #e5e7eb;
  font-size: .8rem;
}

.prize-level-head input {
  width: 58px;
  min-height: 30px;
  padding: 4px 5px;
  border-radius: 7px;
}

.prize-percent-total {
  margin-left: auto;
  padding: 3px 6px;
  border-radius: 999px;
  background: #dcfce7;
  color: #166534;
  font-weight: 900;
  white-space: nowrap;
}

.prize-percent-total.invalid-total {
  background: #fee2e2;
  color: #991b1b;
}

.prize-place-header,
.prize-place-row {
  display: grid;
  grid-template-columns: 48px 110px 110px minmax(90px, 1fr) 34px;
  align-items: center;
  gap: 7px;
  padding: 5px 8px;
}

.prize-place-header {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 900;
  border-bottom: 1px solid #e5e7eb;
}

.prize-place-row {
  min-height: 38px;
  border-bottom: 1px solid #f0f1f3;
  font-size: .82rem;
}

.prize-place-row:last-child {
  border-bottom: 0;
}

.prize-place-row input {
  min-height: 30px;
  padding: 4px 5px;
  border-radius: 7px;
}

.inline-number {
  display: flex;
  align-items: center;
  gap: 3px;
}

.inline-number input {
  width: 82px;
}

.settings-sections {
  display: grid;
  gap: 16px;
}

.settings-section + .settings-section {
  padding-top: 14px;
  border-top: 1px solid #e5e7eb;
}

.settings-section h3 {
  margin: 0 0 9px;
  font-size: 1rem;
}

@media (max-width: 700px) {
  .prize-settings-row {
    grid-template-columns: 1fr 1fr;
  }

  .sound-event-row {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
}

@media (max-width: 560px) {
  .topbar,
  .tabs {
    max-width: 100vw;
  }

  main {
    padding-left: 10px;
    padding-right: 10px;
  }

  .card {
    max-width: 100%;
  }

  .tournament-control-actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 7px;
  }

  .tournament-control-primary-actions {
    width: 100%;
    gap: 6px;
  }

  .tournament-control-primary-actions .btn {
    min-height: 38px;
    padding: 7px 9px;
    font-size: .78rem;
  }

  .reset-tournament-button {
    margin-left: 0;
    align-self: flex-start;
  }

  .results-grid-header,
  .results-grid-row {
    grid-template-columns: 32px minmax(0, 1fr) 48px 60px 91px;
    gap: 4px;
  }

  .results-grid-header {
    padding: 6px 5px;
    font-size: .61rem;
    letter-spacing: 0;
  }

  .results-grid-row {
    min-height: 38px;
    padding: 4px 5px;
    font-size: .74rem;
  }

  .result-action-buttons {
    gap: 3px;
  }

  .result-action-buttons .btn,
  .result-action > .btn {
    min-height: 28px;
    padding: 3px 5px;
    font-size: .66rem;
    border-radius: 8px;
  }

  .reenter-label,
  .restore-label {
    display: none;
  }

  .restore-icon {
    display: inline;
    font-size: .9rem;
  }

  .result-status {
    min-height: 24px;
    padding: 2px 5px;
    font-size: .62rem;
  }

  .setup-engine-toolbar {
    align-items: stretch;
  }

  .setup-engine-toolbar select {
    flex: 1 1 100%;
    width: 100%;
  }

  .setup-engine-toolbar .btn,
  .setup-engine-toolbar label.btn {
    min-height: 32px;
    padding: 5px 7px;
    font-size: .72rem;
  }

  .prize-settings-row {
    grid-template-columns: 1fr;
  }

  .prize-level {
    overflow-x: auto;
  }

  .prize-level-head,
  .prize-place-header,
  .prize-place-row {
    min-width: 430px;
  }

  .settings-section .branding-row {
    gap: 8px;
  }
}

/* Aug 28 corrections: horizontal settings controls + unclipped sound menu + table-break review */
#settingsDetails[open] {
  overflow: visible;
}

#settingsDetails .collapsible-content,
#settingsDetails .settings-sections,
#settingsDetails .settings-section {
  overflow: visible;
}

#settingsDetails .sound-menu-wrap {
  flex: 0 0 auto;
  z-index: 200;
}

#settingsDetails .sound-menu {
  z-index: 1000;
}

#settingsDetails .branding-row {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  min-width: 0;
}

#settingsDetails .branding-row > div:first-child {
  min-width: 0;
  flex: 1 1 auto;
}

#settingsDetails .branding-row .actions {
  display: flex;
  flex: 0 0 auto;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
}

#settingsDetails .branding-row .actions .btn,
#settingsDetails .branding-row .actions label.btn {
  white-space: nowrap;
}

#settingsDetails .sound-event-row {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
  overflow-y: visible;
  padding-bottom: 4px;
}

#settingsDetails .sound-event-row > * {
  flex: 0 0 auto;
}

#settingsDetails .sound-event-row > strong {
  min-width: 140px;
}

.table-break-modal {
  max-width: min(760px, calc(100vw - 24px));
}

.table-break-modal .suggested-movement-list {
  overflow-x: auto;
  max-height: 50vh;
  overflow-y: auto;
  padding-bottom: 2px;
}

.table-break-modal .suggested-movement-row {
  min-width: 590px;
}

.table-break-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 8px;
}

@media (max-width: 560px) {
  #settingsDetails .branding-row {
    flex-direction: row;
    align-items: center;
  }

  #settingsDetails .branding-row .subtle {
    font-size: .72rem;
    line-height: 1.25;
  }

  #settingsDetails .branding-row .actions .btn,
  #settingsDetails .branding-row .actions label.btn {
    padding: 6px 7px;
    font-size: .7rem;
  }

  #settingsDetails .sound-event-row {
    display: flex;
    flex-direction: row;
    align-items: center;
  }
}

.sound-menu.sound-menu-floating {
  position: fixed;
  z-index: 10000;
}

/* Aug 28 testing corrections: compact Sound Events, start countdown, exact chevron alignment */
#settingsDetails .sound-event-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  overflow: visible;
  padding-bottom: 0;
  min-width: 0;
}

#settingsDetails .sound-event-row > * {
  flex: 0 0 auto;
  min-width: 0;
}

#settingsDetails .sound-event-row > strong {
  min-width: 0;
  margin-right: 2px;
}

#settingsDetails .sound-file-select {
  flex: 1 1 135px;
  width: 155px;
  min-width: 110px;
  max-width: 220px;
  height: 32px;
  padding: 4px 26px 4px 7px;
  font-size: .8rem;
  text-overflow: ellipsis;
}

#settingsDetails .sound-menu-wrap {
  margin-left: 0;
}

.manage-tables-toggle {
  width: auto;
  min-width: 0;
  flex: 0 0 auto;
}

.tournament-start-strip {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 14px;
  margin-top: 8px;
  padding: 7px 9px;
  border: 1px solid var(--border);
  border-radius: 8px;
  background: #f8fafc;
  font-size: .82rem;
}

.tournament-start-strip .status-in-progress {
  color: #166534;
}

@media (max-width: 560px) {
  #settingsDetails .sound-event-row {
    gap: 6px;
  }

  #settingsDetails .sound-event-row > strong {
    font-size: .82rem;
  }

  #settingsDetails .sound-event-row label {
    font-size: .76rem;
  }

  #settingsDetails .sound-file-select {
    flex-basis: 118px;
    width: 128px;
    min-width: 100px;
    max-width: 150px;
  }

  .tournament-start-strip {
    gap: 5px 10px;
    font-size: .76rem;
  }
}

/* Aug 28 compact-control correction pass */
.tournament-control-actions {
  align-items: center;
  gap: 8px;
}
.tournament-control-primary-actions {
  gap: 6px;
  align-items: center;
}
.tournament-control-pill {
  min-height: 25px;
  height: 25px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .76rem;
  line-height: 1;
  white-space: nowrap;
}
.reset-tournament-button.tournament-control-pill {
  margin-left: auto;
}
.manage-suggestion-pill {
  border: 0;
  cursor: pointer;
  white-space: nowrap;
  margin-left: auto;
  margin-right: 0;
  font-family: inherit;
  font-weight: 800;
}
.manage-tables-title {
  margin-right: 0;
}
.manage-tables-header {
  justify-content: flex-start;
}
.manage-tables-toggle {
  flex: 0 0 18px;
  width: 18px;
  min-width: 18px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-left: 0;
}
.manage-tables-toggle .collapse-indicator,
.collapsible-card > summary .collapse-indicator {
  width: 18px;
  text-align: right;
}
@media (max-width: 560px) {
  .tournament-control-actions {
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
  }
  .tournament-control-primary-actions {
    width: auto;
    flex: 1 1 auto;
    gap: 5px;
  }
  .tournament-control-primary-actions .btn,
  .reset-tournament-button.tournament-control-pill {
    min-height: 25px;
    height: 25px;
    padding: 2px 7px;
    font-size: .72rem;
  }
  .reset-tournament-button.tournament-control-pill {
    margin-left: 0;
    align-self: auto;
  }
  .manage-suggestion-pill {
    font-size: .7rem;
    padding-left: 6px;
    padding-right: 6px;
  }
}

/* Aug 28 entry seating + compact branding pills */
#settingsDetails .branding-row .actions .btn,
#settingsDetails .branding-row .actions label.btn {
  min-height: 25px;
  height: 25px;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: .76rem;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}
.entry-seating-modal { max-width: 430px; }
.entry-seating-actions,
.entry-seat-confirm-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}
.entry-seat-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}
.entry-seat-fields label { font-size: .82rem; font-weight: 700; }
.entry-seat-fields select { margin-top: 4px; }
.entry-lock-line { margin: 10px 0 8px; }
.entry-seat-cancel { margin-top: 10px; }
@media (max-width: 560px) {
  #settingsDetails .branding-row .actions .btn,
  #settingsDetails .branding-row .actions label.btn {
    min-height: 25px;
    height: 25px;
    padding: 2px 7px;
    font-size: .7rem;
  }
  .entry-seating-modal { width: min(94vw, 430px); }
}


/* Aug 28 prize editor live-preview + toolbar alignment correction */
.setup-engine-toolbar label.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: center;
  margin: 0;
  box-sizing: border-box;
}
@media (max-width: 560px) {
  .setup-engine-toolbar { align-items: center; }
  .setup-engine-toolbar .btn,
  .setup-engine-toolbar label.btn {
    height: 32px;
    min-height: 32px;
    line-height: 1;
  }
  .setup-engine-toolbar select { align-self: stretch; }
}
/* SPR tournament clock / blind structure phase */
.clock-control-panel{margin-top:8px;padding:8px 0;border-top:1px solid var(--border,#d7dce5);border-bottom:1px solid var(--border,#d7dce5)}
.clock-control-status,.pill-actions,.compact-inline-fields,.blind-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.clock-control-status{font-size:12px;margin-bottom:6px}.pill-actions .btn,.setup-engine-toolbar .btn,.compact-inline-fields .btn{min-height:27px!important;height:27px!important;padding:3px 9px!important;border-radius:999px!important;font-size:12px!important;line-height:1!important}.pill-actions select{height:29px;max-width:150px;font-size:12px;padding:2px 24px 2px 8px}.compact-inline-fields label{display:flex;align-items:center;gap:5px;font-size:12px;margin:0}.compact-inline-fields input,.compact-inline-fields select{height:30px;min-height:30px;width:auto;max-width:155px;padding:3px 7px;font-size:12px}.compact-general-financial .compact-inline-fields{margin-top:6px}
.blind-summary{margin:8px 0;padding:6px 8px;background:#f5f7fa;border-radius:8px;font-size:12px}.blind-summary span{white-space:nowrap}.blind-grid{margin-top:8px;overflow-x:auto;border:1px solid #d8dde5;border-radius:8px}.blind-grid-head,.blind-grid-row{display:grid;grid-template-columns:110px 78px 78px 78px 58px 60px minmax(115px,1fr) 100px;align-items:center;min-width:690px}.blind-grid-head{font-size:11px;font-weight:800;background:#111827;color:white}.blind-grid-head span{padding:5px}.blind-grid-row{border-top:1px solid #e0e4ea}.blind-grid-row.break-row{background:#eef9ee}.blind-grid-row input{height:29px!important;min-height:29px!important;border:0;border-right:1px solid #e0e4ea;border-radius:0!important;padding:3px 5px!important;font-size:12px!important;min-width:0}.blind-grid-row strong{font-size:11px;text-align:center}.row-pills{display:flex;gap:2px;justify-content:center}.row-pills .btn{height:24px!important;min-height:24px!important;padding:2px 6px!important;border-radius:999px!important}.public-blinds{display:grid;gap:3px}.public-blind-row{display:grid;grid-template-columns:100px 1fr 65px;gap:8px;align-items:center;padding:7px 9px;border-radius:7px;background:#f5f7fa;font-size:13px}.public-blind-row.current{outline:2px solid #dc2626;background:#fff}.public-blind-row.break-row{background:#eef9ee}.chip-count-player{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px;cursor:pointer}
.player-main{display:grid;gap:12px}.main-event-info{margin:0!important}.detail-grid{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;font-size:13px}.full-display-wrap{width:100%;min-height:calc(100vh - 120px);background:#000}.tournament-display{--theme:#075a73;position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;color:#fff;background:var(--theme);font-family:Arial,Helvetica,sans-serif;font-weight:700}.tournament-display.odd{--theme:#075a73}.tournament-display.even{--theme:#00633f}.tournament-display.break{--theme:#9d0000}.display-bg{position:absolute;inset:0;background-image:linear-gradient(var(--theme),var(--theme)),var(--display-bg);background-blend-mode:multiply;background-size:cover;background-position:center;opacity:1}.display-bg:after{content:"";position:absolute;inset:0;background:var(--display-bg);background-size:cover;background-position:center;opacity:var(--display-opacity)}.display-grid{position:relative;z-index:1;display:grid;height:100%;grid-template-columns:25% 50% 25%;grid-template-rows:1fr 21%;border:1px solid rgba(255,255,255,.45)}.display-left,.display-right,.display-center,.display-stats{border-right:1px solid rgba(255,255,255,.45)}.display-left,.display-right{display:flex;flex-direction:column;justify-content:space-around;align-items:center;text-align:center;padding:2.5%}.display-left span,.display-right span,.display-stats span{display:block;color:#d8d8d8;font-size:clamp(11px,2.1vw,30px)}.display-left strong,.display-right strong{display:block;color:#ffd21a;font-size:clamp(13px,2.6vw,38px);margin-top:5px}.display-right strong{color:#24ff28}.display-logo{max-width:76%;max-height:13%;object-fit:contain}.display-logo-text{font-size:clamp(18px,3vw,42px)!important;color:#fff!important}.display-prizes{font-size:clamp(9px,1.45vw,20px)!important;line-height:1.25}.display-center{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2% 1%}.display-level{font-size:clamp(18px,3vw,44px);color:#ddd}.display-time{font-size:clamp(48px,10vw,145px);line-height:.95;margin:1% 0}.display-caption{font-size:clamp(13px,2.4vw,34px);color:#ddd}.display-blinds{font-size:clamp(17px,3.5vw,50px);line-height:1.05}.display-next{font-size:clamp(14px,2.6vw,36px)}.display-break{font-size:clamp(15px,2.7vw,38px);margin-top:auto;border-top:1px solid rgba(255,255,255,.45);width:100%;padding-top:1.5%}.display-goal{font-size:clamp(12px,2.1vw,30px);color:#ddd;padding-top:1.5%}.display-stats{grid-column:1/4;display:grid;grid-template-columns:repeat(3,1fr);text-align:center}.display-stats>div{display:flex;flex-direction:column;justify-content:center;border-right:1px solid rgba(255,255,255,.45)}.display-stats>div:last-child{border-right:0}.display-stats strong{color:#168dff;font-size:clamp(14px,2.8vw,40px)}.compact-display{border-radius:0;aspect-ratio:16/7.6}.compact-display .display-time{font-size:clamp(36px,8vw,100px)}.compact-display .display-goal{font-size:clamp(10px,1.8vw,22px)}
@media(max-width:600px){.tabs{overflow-x:auto;justify-content:flex-start}.tabs button{flex:0 0 auto;padding-left:10px!important;padding-right:10px!important}.clock-control-panel{padding:6px 0}.pill-actions{gap:4px}.pill-actions .btn{padding:3px 7px!important;font-size:11px!important}.compact-inline-fields{gap:5px}.compact-inline-fields label{font-size:11px}.compact-inline-fields input,.compact-inline-fields select{max-width:115px;font-size:11px}.blind-summary{gap:5px;font-size:10px}.blind-grid-head,.blind-grid-row{grid-template-columns:88px 65px 65px 65px 50px 52px 100px 88px;min-width:573px}.tournament-display.compact-display{aspect-ratio:16/10}.display-left span,.display-right span,.display-stats span{font-size:9px}.display-left strong,.display-right strong{font-size:11px}.display-level{font-size:14px}.display-time{font-size:38px}.display-caption{font-size:10px}.display-blinds{font-size:13px}.display-next{font-size:11px}.display-break{font-size:11px}.display-goal{font-size:9px}.display-stats strong{font-size:11px}}
body.display-mode .topbar,body.display-mode .tabs{display:none!important}body.display-mode main{padding:0!important;margin:0!important;max-width:none!important}.full-display-wrap .tournament-display{max-height:100vh;margin:auto}
.colorup-suggestions{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}.suggestion-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 7px;border-radius:999px;background:#eef6ff;font-size:11px}.suggestion-pill .btn{height:22px!important;min-height:22px!important;padding:2px 6px!important;border-radius:999px!important;font-size:10px!important}

/* 2026-08 TV reference correction: one-row navigation + true 16:9 display */
.tabs{
  display:flex!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  overflow-x:auto!important;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
.tabs::-webkit-scrollbar{display:none}
.tabs button{
  flex:1 1 0!important;
  min-width:0!important;
  padding:9px 6px!important;
  font-size:clamp(10px,1.8vw,13px)!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
@media(max-width:600px){.tabs button{flex:0 0 auto!important;padding:8px 9px!important;font-size:11px!important}}

body.display-mode{margin:0!important;padding:0!important;background:#001a22!important;overflow:hidden!important}
body.display-mode .topbar,body.display-mode .tabs{display:none!important}
body.display-mode main,body.display-mode #app,body.display-mode .full-display-wrap{width:100vw!important;height:100vh!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;background:#001a22!important}
body.display-mode .tournament-display{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;aspect-ratio:auto!important;border-radius:0!important}

.tournament-display{
  --theme-top:#06617a;--theme-bottom:#002630;
  position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;color:#fff;
  background:linear-gradient(180deg,var(--theme-top) 0%,var(--theme-bottom) 100%);
  font-family:Arial,Helvetica,sans-serif;font-weight:700;
}
.tournament-display.countdown{--theme-top:#5b347a;--theme-bottom:#190d27}
.tournament-display.odd{--theme-top:#08667f;--theme-bottom:#00242d}
.tournament-display.even{--theme-top:#075c3c;--theme-bottom:#00291e}
.tournament-display.break{--theme-top:#8b161b;--theme-bottom:#300407}
.display-bg{position:absolute;inset:0;background:linear-gradient(180deg,var(--theme-top),var(--theme-bottom));opacity:1}
.display-bg:before{content:"SPR";position:absolute;right:-3vw;top:12vh;font-size:31vw;line-height:1;font-weight:900;letter-spacing:-.06em;color:rgba(255,255,255,.045);transform:rotate(-12deg);transform-origin:center;pointer-events:none}
.display-bg:after{content:"";position:absolute;inset:0;background-image:var(--display-bg);background-size:cover;background-position:center;opacity:var(--display-opacity);mix-blend-mode:screen}
.display-brandbar{position:relative;z-index:2;height:7.2%;display:flex;align-items:center;gap:1.1%;padding:0 .9%;border-bottom:1px solid rgba(210,220,220,.58);background:rgba(0,18,23,.22);box-sizing:border-box;overflow:hidden}
.display-logo{width:auto!important;height:68%!important;max-width:8.5%!important;max-height:68%!important;object-fit:contain;flex:none}
.display-logo-text{font-size:clamp(14px,2.3vw,34px)!important;line-height:1;color:#fff!important;font-weight:900;flex:none}
.display-event-name{font-size:clamp(12px,2vw,30px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f2f2f2}
.display-grid{position:relative;z-index:1;height:92.8%;display:grid;grid-template-columns:25% 50% 25%;grid-template-rows:78% 22%;border:0;box-sizing:border-box}
.display-left,.display-center,.display-right{border-right:1px solid rgba(210,220,220,.58);border-bottom:1px solid rgba(210,220,220,.58);box-sizing:border-box}
.display-left{display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;text-align:center;padding:1.5% 2%}
.display-left span,.display-right span,.display-stats span{display:block;color:#d4d5d5;font-size:clamp(14px,2.15vw,34px);line-height:1.05}
.display-left strong{display:block;color:#ffd020;font-size:clamp(17px,2.65vw,42px);line-height:1.05;margin-top:7%}
.display-center{display:flex;flex-direction:column;align-items:center;text-align:center;padding:1.1% 1.2% .7%}
.display-level{font-size:clamp(20px,3vw,48px);line-height:1;color:#d8d9d9;margin:.3% 0 1%}
.display-time{font-size:clamp(70px,10.2vw,164px);line-height:.82;letter-spacing:-.035em;margin:1.3% 0 2.2%;font-weight:800}
.display-caption{font-size:clamp(17px,2.45vw,39px);line-height:1;color:#d6d7d7;margin:.3% 0}
.display-blinds{font-size:clamp(24px,3.55vw,57px);line-height:1.04;white-space:nowrap}
.display-next-label{margin-top:2.2%}
.display-next{font-size:clamp(19px,2.9vw,46px);line-height:1.05;white-space:nowrap}
.display-break{margin-top:auto;width:100%;padding-top:1.3%;border-top:1px solid rgba(210,220,220,.58);font-size:clamp(18px,2.8vw,45px);line-height:1.05;color:#d8d9d9}
.display-break b{color:#fff}
.display-goal{width:100%;font-size:clamp(14px,2.2vw,35px);line-height:1.08;color:#d2d3d3;padding-top:1.4%;font-weight:700}
.display-break-title{margin:auto 0;font-size:clamp(32px,5vw,80px)}
.display-right{display:flex;align-items:center;justify-content:center;text-align:center;padding:2%}
.display-right strong{display:block;color:#21ed20;font-size:clamp(18px,2.7vw,43px);line-height:1.05;margin-top:9%}
.display-stats{grid-column:1/4;display:grid;grid-template-columns:repeat(4,1fr);text-align:center;border:0}
.display-stats>div{min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;border-right:1px solid rgba(210,220,220,.58);padding:.5% 1%;box-sizing:border-box}
.display-stats>div:last-child{border-right:0}
.display-stats span{font-size:clamp(13px,2vw,32px);white-space:nowrap}
.display-stats strong{display:block;color:#168cff;font-size:clamp(18px,2.75vw,44px);line-height:1.02;margin-top:3%;white-space:nowrap}
.display-stats em{display:block;color:#168cff;font-size:clamp(15px,2.35vw,38px);line-height:1;font-style:normal;margin-top:2%;min-height:1em}

/* Embedded Main-page version keeps the same visual language without taking over the viewport. */
.compact-display{aspect-ratio:16/8.6!important}
.compact-display .display-brandbar{height:8%}
.compact-display .display-grid{height:92%;grid-template-rows:78% 22%}
@media(max-width:600px){
  .compact-display{aspect-ratio:16/10!important}
  .compact-display .display-left span,.compact-display .display-right span,.compact-display .display-stats span{font-size:8px}
  .compact-display .display-left strong,.compact-display .display-right strong,.compact-display .display-stats strong{font-size:10px}
  .compact-display .display-stats em{font-size:8px}
  .compact-display .display-level{font-size:12px}.compact-display .display-time{font-size:34px}.compact-display .display-caption{font-size:9px}.compact-display .display-blinds{font-size:12px}.compact-display .display-next{font-size:10px}.compact-display .display-break{font-size:10px}.compact-display .display-goal{font-size:8px}.compact-display .display-event-name{font-size:9px}
}


/* 2026-08-29 display title + protected navigation correction */
.display-brandbar{position:relative!important;justify-content:flex-start!important}
.display-event-name{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:72%!important;
  max-width:72%!important;
  text-align:center!important;
  pointer-events:none!important;
}
.modal-backdrop{z-index:100000!important}

/* SPR TV display — primary layout matched to the supplied WSOP Hold'em reference. */
.display-brandbar{position:relative;justify-content:flex-start}
.display-event-name{position:absolute;left:10%;right:10%;text-align:center;font-size:clamp(15px,2.45vw,39px);font-weight:800;letter-spacing:.01em}
.display-grid{height:92.8%;grid-template-columns:18.2% 57.4% 24.4%;grid-template-rows:100%}
.display-left,.display-center,.display-payouts{min-height:0;border-right:1px solid rgba(210,220,220,.58);box-sizing:border-box}
.display-left{justify-content:space-around;padding:2% 1.2% 1.4%}
.display-left span{font-weight:400;font-size:clamp(15px,2.05vw,33px)}
.display-left strong{font-size:clamp(18px,2.55vw,41px);margin-top:5%;font-weight:700}
.display-left strong small{display:block;font-size:.68em;margin-top:.18em}
.display-players-left strong{color:#21ed20!important}
.display-center{position:relative;padding:2.2% 0 17.5%;border-bottom:0}
.display-level{font-size:clamp(21px,3vw,48px);font-weight:700;margin:0 0 .7%}
.display-time{font-family:"Arial Narrow",Arial,Helvetica,sans-serif;font-size:clamp(74px,10.4vw,166px);font-weight:800;line-height:.83;letter-spacing:-.035em;margin:.6% 0 3%;text-shadow:0 .045em .055em rgba(0,0,0,.62)}
.display-caption{font-weight:400;font-size:clamp(18px,2.55vw,41px)}
.display-blinds{font-size:clamp(25px,3.5vw,56px);font-weight:800}
.display-next-label{margin-top:2.1%}
.display-next{font-size:clamp(21px,3vw,48px);font-weight:700}
.display-break{margin-top:auto;padding:1.4% 1% 0;font-size:clamp(20px,2.9vw,46px);font-weight:700}
.display-goal{padding:1.1% 1% 1.4%;font-size:clamp(16px,2.35vw,38px);font-weight:400}
.display-stats{position:absolute;left:0;right:0;bottom:0;height:16.5%;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(210,220,220,.58)}
.display-stats>div{border-right:1px solid rgba(210,220,220,.58);padding:.5% .8%}
.display-stats>div:last-child{border-right:0}
.display-stats span{font-weight:400;font-size:clamp(13px,1.8vw,29px)}
.display-stats strong{font-size:clamp(16px,2.15vw,35px);margin-top:3%;white-space:nowrap}
.display-stats strong em{display:inline;color:#168cff;font-size:.82em;font-style:normal;font-weight:400;margin-left:.12em}
.display-payouts{display:flex;flex-direction:column;justify-content:flex-start;padding:1.4% 1.5%;overflow:hidden;border-right:0}
.display-payout-row{display:grid;grid-template-columns:38% 62%;align-items:center;min-height:8.2%;border-bottom:1px solid rgba(210,220,220,.18);font-size:clamp(15px,2.05vw,33px);line-height:1}
.display-payout-row span{color:#d7d7d7;font-weight:400;text-align:left}
.display-payout-row strong{color:#f2f2f2;text-align:right;font-weight:700;white-space:nowrap}
.display-payout-row.first span,.display-payout-row.first strong{color:#ffd020}
.display-payout-empty{margin:auto;text-align:center;color:#d4d5d5;font-size:clamp(14px,1.8vw,28px);font-weight:400}
.compact-display .display-grid{grid-template-columns:18.2% 57.4% 24.4%;grid-template-rows:100%}
.compact-display .display-center{padding-bottom:18%}
.compact-display .display-payout-row{font-size:clamp(7px,1.5vw,15px)}
@media(max-width:600px){
 .compact-display .display-event-name{font-size:9px;left:12%;right:4%}
 .compact-display .display-left span{font-size:7px}.compact-display .display-left strong{font-size:9px}
 .compact-display .display-payout-row{font-size:7px}.compact-display .display-stats span{font-size:7px}.compact-display .display-stats strong{font-size:8px}
}

/* 2026-08-30 compact correction: equal TV sidebars, chip rows, full Manage Tables header */
.tournament-display .display-grid{grid-template-columns:20% 60% 20%!important}
.tournament-display .display-payouts{padding:1.15% 1.15%!important}
.tournament-display .display-payout-row{grid-template-columns:39% 61%!important;font-size:clamp(13px,1.72vw,28px)!important;min-height:7.3%!important}
.tournament-display .display-payout-row strong{white-space:normal!important;overflow-wrap:anywhere;line-height:1.02}
.tournament-display .display-payout-empty{max-width:90%;font-size:clamp(12px,1.45vw,23px)!important;line-height:1.12}
.compact-display .display-grid{grid-template-columns:20% 60% 20%!important}
.manage-tables-header{cursor:pointer;user-select:none}
.manage-tables-toggle{pointer-events:none}
.financial-chip-input{width:78px!important;min-width:78px!important;max-width:78px!important}
.chip-setup-toolbar{display:flex;align-items:center;gap:7px;margin-bottom:7px}
.chip-setup-toolbar .subtle{margin-right:auto}
.chip-denomination-list{display:flex;flex-wrap:wrap;gap:6px}
.chip-denomination-row{display:inline-flex;align-items:center;gap:4px}
.chip-denomination-input{width:92px!important;min-width:92px!important;max-width:92px!important;min-height:28px!important;padding:3px 6px!important;font-size:.86rem!important}
.chip-denomination-remove{width:25px!important;min-width:25px!important;height:25px!important;padding:0!important}
.chip-setup-note{margin-top:8px}

/* 2026-08-29 Main/countdown/clock-control refinement */
.tournament-display .display-blinds{
  font-size:clamp(46px,6.8vw,108px)!important;
  line-height:.95!important;
  font-weight:850!important;
  letter-spacing:-.02em;
  text-shadow:0 .035em .045em rgba(0,0,0,.35);
}
.tournament-display .display-next-label{
  color:rgba(218,222,224,.68)!important;
  font-weight:400!important;
  margin-top:1.5%!important;
}
.tournament-display .display-next{
  color:rgba(218,222,224,.62)!important;
  font-size:clamp(20px,2.75vw,44px)!important;
  font-weight:600!important;
  text-shadow:none!important;
}
/* Generic poker-chip atmosphere: same artwork in purple/blue/green/red states. */
.tournament-display .display-bg:before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  transform:none!important;
  background:
    radial-gradient(circle at 83% 40%, transparent 0 9.5%, rgba(255,255,255,.035) 9.8% 10.8%, transparent 11.1% 14.2%, rgba(255,255,255,.04) 14.5% 15.5%, transparent 15.8%),
    radial-gradient(circle at 83% 40%, transparent 0 12.2%, rgba(255,255,255,.024) 12.4% 12.9%, transparent 13.1%),
    radial-gradient(circle at 13% 27%, transparent 0 5.2%, rgba(255,255,255,.032) 5.45% 6.15%, transparent 6.4% 8.1%, rgba(255,255,255,.036) 8.35% 9.05%, transparent 9.3%)!important;
  pointer-events:none!important;
}
.tournament-display .display-bg:after{mix-blend-mode:screen}
.clock-go-pill{min-width:42px!important;font-weight:800!important}
.clock-pending-label{font-size:11px;color:#6b7280;white-space:nowrap;align-self:center}
.reentry-rule-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:5px 0 7px 22px}
.reentry-rule-row label{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#606770;white-space:nowrap}
.reentry-rule-row select{width:auto!important;min-width:68px!important;max-width:132px!important;min-height:27px!important;height:27px!important;padding:2px 22px 2px 6px!important;font-size:11px!important}
.tournament-details-card{margin-top:10px}
.tournament-detail-grid{grid-template-columns:minmax(110px,170px) 1fr;gap:7px 12px;align-items:start}
.tournament-detail-grid>span{color:#6b7280;font-size:12px}
.tournament-detail-grid>strong{font-size:13px;line-height:1.25;overflow-wrap:anywhere}
.compact-display .display-blinds{font-size:clamp(19px,4.8vw,42px)!important}
.compact-display .display-next{font-size:clamp(9px,2.2vw,18px)!important}
@media(max-width:600px){
  .tournament-detail-grid{grid-template-columns:92px 1fr;gap:6px 8px}
  .tournament-detail-grid>span{font-size:10px}.tournament-detail-grid>strong{font-size:11px}
  .clock-pending-label{flex-basis:100%;font-size:10px}
  .reentry-rule-row{margin-left:0}
}


/* 2026-08-29 TV display polish: chip artwork + blind typography */
.tournament-display{
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
}
.tournament-display .display-blinds,
.tournament-display .display-next{
  display:flex!important;
  align-items:baseline!important;
  justify-content:center!important;
  flex-wrap:nowrap!important;
  gap:0!important;
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
  font-variant-numeric:tabular-nums lining-nums;
}
.tournament-display .display-blind-number{display:inline-block;line-height:.9}
.tournament-display .display-blind-separator{
  display:inline-block;
  margin:0 .19em;
  color:rgba(214,220,224,.42)!important;
  font-weight:300!important;
  font-size:.78em!important;
  line-height:.82!important;
  transform:scaleX(.52);
  transform-origin:center;
  position:relative;
  top:-.025em;
}
.tournament-display .display-ante{
  display:inline-flex;
  align-items:baseline;
  margin-left:.20em;
  color:inherit;
  font-size:.72em!important;
  font-weight:500!important;
  line-height:1!important;
  white-space:nowrap;
  position:relative;
  top:-.055em;
}
.tournament-display .display-paren{
  display:inline-block;
  color:rgba(225,229,232,.72)!important;
  font-weight:300!important;
  line-height:.82!important;
  transform:scaleX(.68);
  transform-origin:center;
  position:relative;
  top:-.01em;
  margin:0 .015em;
}
.tournament-display .display-next .display-blind-separator{color:rgba(194,200,205,.32)!important}
.tournament-display .display-next .display-paren{color:rgba(194,200,205,.46)!important}

/* Blank casino-style chips: edge inserts + inner rings, no lettering. */
.tournament-display .display-bg:before,
.tournament-display .display-bg:after{
  content:""!important;
  position:absolute!important;
  inset:auto!important;
  border-radius:50%!important;
  pointer-events:none!important;
  opacity:.28!important;
  box-shadow:
    inset 0 0 0 .55vw rgba(255,255,255,.055),
    inset 0 0 0 1.25vw rgba(0,0,0,.06),
    0 1.2vw 3vw rgba(0,0,0,.12)!important;
  background:
    radial-gradient(circle at center,
      rgba(255,255,255,.018) 0 29%,
      rgba(255,255,255,.075) 29.5% 31%,
      rgba(255,255,255,.018) 31.5% 43%,
      rgba(255,255,255,.08) 43.5% 45%,
      transparent 45.5%),
    repeating-conic-gradient(from -5deg,
      rgba(255,255,255,.19) 0deg 9deg,
      rgba(255,255,255,.025) 9deg 24deg,
      rgba(0,0,0,.055) 24deg 30deg,
      rgba(255,255,255,.025) 30deg 45deg)!important;
  mix-blend-mode:screen!important;
}
.tournament-display .display-bg:before{
  width:34vw!important;
  height:34vw!important;
  right:-5.5vw!important;
  top:15%!important;
  transform:rotate(-13deg)!important;
}
.tournament-display .display-bg:after{
  width:16vw!important;
  height:16vw!important;
  left:3.5vw!important;
  top:13%!important;
  transform:rotate(18deg)!important;
  opacity:.20!important;
}
.compact-display .display-bg:before{width:31vw!important;height:31vw!important;right:-4vw!important;top:11%!important}
.compact-display .display-bg:after{width:14vw!important;height:14vw!important;left:4vw!important;top:13%!important}

/* 2026-08-29 display cleanup: no decorative background chips */
.tournament-display .display-bg:before{content:none!important;background:none!important}

/* Expanded Sound Events */
.sound-events-note{margin:-2px 0 8px}
.sound-event-list{display:grid;gap:8px}
.sound-trigger-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding-top:7px;border-top:1px solid #e5e7eb}
.sound-trigger-row>strong{min-width:150px;font-size:12px}
.sound-trigger-row select{width:auto!important;min-width:78px!important;max-width:150px!important;height:27px!important;min-height:27px!important;padding:2px 22px 2px 6px!important;font-size:11px!important}
.sound-trigger-row .checkline{font-size:11px}
.sound-warning-time{display:inline-flex;align-items:center;gap:3px;font-size:11px;white-space:nowrap}
.sound-warning-time input{width:46px!important;min-width:46px!important;height:27px!important;min-height:27px!important;padding:2px 4px!important;font-size:11px!important}
.sound-pool{display:flex;gap:4px;flex-wrap:wrap;padding-left:156px}
.sound-file-pill{display:inline-flex;align-items:center;gap:4px;max-width:180px;padding:3px 5px 3px 7px;border:1px solid #d1d5db;border-radius:999px;background:#f8fafc;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sound-file-pill button{border:0;background:transparent;padding:0 2px;font-size:14px;line-height:1;cursor:pointer}
.suggested-movement-row{margin-top:10px;padding-top:9px;border-top:1px solid #d1d5db}
@media(max-width:600px){.sound-trigger-row>strong{min-width:100%;}.sound-pool{padding-left:0}.sound-trigger-row select{max-width:125px!important}}

/* 2026-08-30 display font test + final decorative chip removal */
.tournament-display,
.tournament-display * {
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
}

/* Remove every decorative poker-chip pseudo element from the display. */
.tournament-display .display-bg:before,
.tournament-display .display-bg:after {
  content:none!important;
  display:none!important;
  background:none!important;
  box-shadow:none!important;
}

/* Let Roboto Condensed draw the blind punctuation naturally. */
.tournament-display .display-blind-separator {
  display:inline-block!important;
  margin:0 .20em!important;
  color:rgba(210,216,221,.48)!important;
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
  font-size:.72em!important;
  font-weight:300!important;
  line-height:1!important;
  transform:none!important;
  position:static!important;
  vertical-align:baseline!important;
}
.tournament-display .display-ante {
  display:inline-flex!important;
  align-items:baseline!important;
  margin-left:.20em!important;
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
  font-size:.72em!important;
  font-weight:400!important;
  line-height:1!important;
  position:static!important;
  vertical-align:baseline!important;
}
.tournament-display .display-paren {
  display:inline!important;
  margin:0 .02em!important;
  color:rgba(220,225,229,.64)!important;
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
  font-size:1em!important;
  font-weight:300!important;
  line-height:1!important;
  transform:none!important;
  position:static!important;
  vertical-align:baseline!important;
}
.tournament-display .display-next .display-blind-separator {
  color:rgba(190,196,201,.35)!important;
}
.tournament-display .display-next .display-paren {
  color:rgba(190,196,201,.46)!important;
}


/* Results correction + prize chop controls */
.results-toolbar{display:flex;align-items:center;gap:8px;margin:0 0 7px;min-height:27px}
.result-more-button{min-width:34px!important;width:34px!important;padding:2px 5px!important;font-weight:900;letter-spacing:1px}
.result-menu-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:7px!important}
.result-menu-actions .btn{width:100%}
.prize-chop-modal{width:min(720px,94vw)!important;max-width:720px!important}
.chop-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0}
.chop-toolbar label{display:flex;align-items:center;gap:6px}
.chop-toolbar select{width:auto!important;min-width:145px!important}
.chop-grid{display:grid;grid-template-columns:minmax(120px,1.3fr) minmax(90px,.8fr) minmax(95px,.8fr);gap:8px;align-items:center}
.chop-grid-head{font-size:11px;font-weight:800;padding:5px 7px;background:#111827;color:#fff;border-radius:7px 7px 0 0}
.chop-row{padding:5px 7px;border-bottom:1px solid #e5e7eb}
.chop-row input{height:31px!important;min-height:31px!important;padding:3px 6px!important}
.chop-row [data-chop-payout]{font-weight:800;text-align:right}
.chop-total{display:flex;justify-content:flex-end;gap:14px;padding:8px 7px;font-size:13px}
@media(max-width:600px){.result-menu-actions{grid-template-columns:1fr}.prize-chop-modal{width:96vw!important}.chop-grid{grid-template-columns:minmax(92px,1.15fr) 86px 90px;gap:5px}.chop-row{font-size:12px}.chop-row input{font-size:12px!important}}


/* 2026-08-31 display consistency + chop comparison correction */
.tournament-display,
.tournament-display *{
  font-family:"Roboto Condensed","Arial Narrow",Arial,sans-serif!important;
}
.tournament-display .display-time,
.tournament-display .display-blinds,
.tournament-display .display-blind-number,
.tournament-display .display-ante,
.tournament-display .display-paren{
  font-weight:400!important;
}
.tournament-display .display-time{
  letter-spacing:-.025em!important;
  text-shadow:0 .025em .035em rgba(0,0,0,.24)!important;
}
.tournament-display .display-blinds{
  font-size:clamp(52px,7.25vw,116px)!important;
  letter-spacing:-.025em!important;
  text-shadow:0 .025em .035em rgba(0,0,0,.24)!important;
  color:#fff!important;
}
.tournament-display .display-blind-number,
.tournament-display .display-ante,
.tournament-display .display-paren{
  color:#fff!important;
  font-size:1em!important;
  line-height:.92!important;
  vertical-align:baseline!important;
}
.tournament-display .display-ante{
  margin-left:.16em!important;
  top:0!important;
}
.tournament-display .display-paren{
  margin:0 .01em!important;
}
.tournament-display .display-blind-separator{
  color:rgba(205,211,216,.46)!important;
  font-size:.68em!important;
  font-weight:300!important;
  margin:0 .18em!important;
  transform:scaleX(.48)!important;
  transform-origin:center!important;
  line-height:1!important;
}
.tournament-display .display-next{
  color:rgba(218,222,224,.58)!important;
  font-weight:400!important;
}
.tournament-display .display-next .display-blind-number,
.tournament-display .display-next .display-ante,
.tournament-display .display-next .display-paren{
  color:inherit!important;
  font-weight:400!important;
}
.compact-display .display-blinds{font-size:clamp(21px,5.1vw,44px)!important}

/* Prize Chop: current-vs-proposed cash and points without crowding the modal. */
.prize-chop-modal{width:min(1040px,96vw)!important;max-width:1040px!important}
.chop-scroll{overflow-x:auto;border:1px solid #e5e7eb;border-radius:8px}
.chop-grid{grid-template-columns:minmax(130px,1.25fr) minmax(92px,.8fr) minmax(108px,.9fr) minmax(105px,.85fr) minmax(110px,.9fr) minmax(100px,.82fr);min-width:790px;gap:8px}
.chop-grid-head{border-radius:0;padding:6px 8px}
.chop-row{padding:5px 8px}
.chop-row [data-chop-payout],.chop-row .chop-point-input{text-align:right}
.chop-current{color:#8a929d!important;font-size:12px;text-align:right;font-weight:500}
.chop-point-input{font-variant-numeric:tabular-nums}
.chop-totals{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-top:7px}
.chop-totals .chop-total{justify-content:space-between;border:1px solid #e5e7eb;border-radius:7px;background:#f8fafc;padding:7px 9px;margin:0}
.chop-toolbar{gap:9px}
.chop-toolbar select{min-width:110px!important;max-width:175px!important}
@media(max-width:700px){
  .prize-chop-modal{width:96vw!important}
  .chop-totals{grid-template-columns:1fr}
  .chop-toolbar label{font-size:11px}
  .chop-toolbar select{min-width:96px!important;max-width:145px!important}
}

/* Aug 31 correction: manual chop rank + compact public Tables accordion. */
.prize-chop-modal .chop-grid{
  grid-template-columns:58px minmax(130px,1.2fr) minmax(92px,.78fr) minmax(108px,.88fr) minmax(105px,.84fr) minmax(110px,.88fr) minmax(100px,.8fr);
  min-width:860px;
}
.chop-rank-input{
  width:50px!important;
  min-width:50px!important;
  text-align:center!important;
  font-weight:800;
  font-variant-numeric:tabular-nums;
}
.chop-rank-input.invalid{
  border-color:#dc2626!important;
  box-shadow:0 0 0 1px #dc2626 inset!important;
  background:#fff7f7!important;
}

.tables-accordion{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:14px;
}
.table-accordion-item{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 1px 2px rgba(0,0,0,.04);
}
.table-accordion-toggle{
  width:100%;
  min-height:52px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:9px 12px;
  border:0;
  background:#fff;
  color:var(--text);
  text-align:left;
  cursor:pointer;
}
.table-accordion-toggle > span:first-child{
  display:flex;
  align-items:baseline;
  gap:9px;
  min-width:0;
}
.table-accordion-toggle strong{font-size:1rem}
.table-accordion-toggle small{color:var(--muted);font-size:.78rem;font-weight:600}
.table-accordion-arrow{color:var(--muted);font-size:.72rem;flex:0 0 auto}
.table-accordion-item.open .table-accordion-toggle{
  border-bottom:1px solid var(--line);
  background:#f8fafc;
}
.table-accordion-panel{padding:8px}
.table-accordion-panel > .table-card{
  margin:0!important;
  border:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  padding:0!important;
}
.table-accordion-panel > .table-card > header{display:none!important}

@media(max-width:700px){
  .prize-chop-modal .chop-grid{
    grid-template-columns:52px minmax(108px,1.1fr) 86px 96px 94px 98px 92px;
    min-width:720px;
    gap:5px;
  }
  .chop-rank-input{width:44px!important;min-width:44px!important}
  .table-accordion-toggle{min-height:48px;padding:8px 10px}
  .table-accordion-panel{padding:6px}
}
\n\n/* Current correction round: tables, chips, movement, and chop indicators */\n.chop-marker{color:var(--muted);font-size:.68em;font-weight:700;margin-left:2px;vertical-align:middle}.chop-legend{text-align:right;margin-top:6px}.seat-content{position:relative}.seat-chip-count{margin-left:auto;color:var(--muted);font-size:.76rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.table-accordion-panel .seat-content{display:flex;align-items:center;gap:6px;width:100%}.dealer-chip-update-bar{display:flex;justify-content:center;margin:7px 0 5px}.dealer-chip-pill{border:0;cursor:pointer}.dealer-chip-list{display:grid;gap:6px;margin:10px 0}.dealer-chip-list label{display:grid;grid-template-columns:minmax(0,1fr) 110px;align-items:center;gap:8px;font-size:.86rem}.dealer-chip-list input{min-height:32px!important;height:32px!important;text-align:right}.manage-table-stack{display:flex;flex-direction:column;gap:10px}.manage-table-stack .table-card{margin:0}.manage-closed-table .seats{display:none}.manage-tables-toggle{align-self:center!important;justify-content:center!important}.manage-tables-toggle .collapse-indicator{display:flex!important;align-items:center!important;justify-content:center!important;width:18px!important;height:18px!important;line-height:18px!important;text-align:center!important;transform:none!important}.manage-suggestion-pill:not(.pending-alert){background:#e5e7eb!important;color:#6b7280!important}.manage-suggestion-pill:disabled{opacity:.7;cursor:default}.manage-drag-player{cursor:grab;touch-action:pan-y}.manage-drag-player:active{cursor:grabbing}.seat.drag-target{outline:3px solid #dc2626!important;outline-offset:-3px;background:#fff1f2!important}.drag-ghost{position:fixed!important;z-index:99999!important;pointer-events:none!important;width:auto!important;max-width:180px!important;opacity:.88!important;background:#fff!important;border:1px solid #cbd5e1!important;border-radius:8px!important;padding:7px 9px!important;box-shadow:0 6px 18px rgba(0,0,0,.18)!important}.manage-table-stack .dealer-seat-action{display:none!important}\n@media(max-width:560px){.manage-tables-details{padding-left:10px!important;padding-right:10px!important}.dealer-chip-list label{grid-template-columns:minmax(0,1fr) 96px}.seat-chip-count{font-size:.7rem}}\n

/* Blind structure editing clarity */
.blind-grid-row.break-row,.blind-grid-row.break-row input,.blind-grid-row.break-row input:disabled,.blind-grid-row.break-row strong,.blind-grid-row.break-row .row-pills{background:#eef9ee!important}
.blind-grid-row.break-row input:disabled{opacity:1;color:#6b7280;-webkit-text-fill-color:#6b7280}
.blind-grid-row.break-row input[data-blind-chipup]{color:#111827;-webkit-text-fill-color:#111827}

/* Blind Structure direct-entry numeric fields: hide browser spinner controls. */
.blind-grid .blind-direct-number { -moz-appearance: textfield; appearance: textfield; }
.blind-grid .blind-direct-number::-webkit-outer-spin-button,
.blind-grid .blind-direct-number::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }


/* Public table chip-count tap target + compact Main results */
.chip-count-player{ text-decoration:none!important; cursor:default!important; }
.public-seat-player-name{font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.seat-chip-count{margin-left:auto;border:0;background:transparent;padding:0;color:var(--muted);font-size:.76rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;cursor:pointer;text-align:right}
.main-results-card{margin-top:0}
.main-results-card .collapsible-content{padding-top:5px}
.main-results-header,.main-result-row{display:grid;grid-template-columns:42px minmax(0,1fr) 72px;gap:8px;align-items:center}
.main-results-header{padding:0 4px 4px;color:#6b7280;font-size:10px;font-weight:700;border-bottom:1px solid #e5e7eb}
.main-result-row{padding:5px 4px;border-bottom:1px solid #eef0f3;font-size:12px;line-height:1.15}
.main-result-row:last-child{border-bottom:0}
.main-result-rank{font-variant-numeric:tabular-nums;text-align:left;font-weight:700}
.main-result-player{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.main-result-points{font-variant-numeric:tabular-nums;text-align:right;font-weight:700}
.main-results-empty{padding:7px 4px!important;font-size:11px}
@media(max-width:560px){.seat-chip-count{font-size:.7rem}.main-results-header,.main-result-row{grid-template-columns:34px minmax(0,1fr) 64px;gap:6px}.main-result-row{font-size:11px;padding:4px 3px}}

/* Blind Structure template controls, row insertion, and spreadsheet workflow */
.blind-row-label{height:29px;min-height:29px;border:0;border-right:1px solid #e0e4ea;border-radius:0;background:transparent;padding:3px 5px;font-size:12px;font-weight:700;text-align:left;color:inherit;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.blind-row-label:hover,.blind-row-label:focus-visible{background:rgba(17,24,39,.06);outline:0}
.blind-grid-row.break-row .blind-row-label{background:#eef9ee!important}
.blind-insert-modal{max-width:340px}
.blind-insert-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.blind-insert-actions .btn{width:100%}
.setup-engine-toolbar{row-gap:5px}
@media(max-width:600px){.blind-row-label{font-size:11px}.blind-insert-modal{max-width:min(340px,92vw)}}

/* Phase 1 — Member foundation */
.tournament-display.completed{background:linear-gradient(135deg,#374151,#111827)!important}
.member-shell{max-width:760px;margin:0 auto}.member-auth-card,.member-waiver-card,.member-status-card{max-width:620px;margin:0 auto}.member-name-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.member-auth-actions{align-items:center;flex-wrap:wrap}.waiver-details{margin:12px 0}.waiver-scroll{max-height:360px;overflow:auto;padding:12px;border:1px solid #d1d5db;border-radius:8px}.member-status-grid{display:grid;grid-template-columns:minmax(100px,auto) 1fr;gap:7px 14px;align-items:center}.member-status-grid span{color:#6b7280}.home-announcement{margin:12px 0;line-height:1.5}.band-link-card{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit;border:1px solid #d1d5db;border-radius:10px;padding:10px 12px;max-width:260px}.band-link-card small{display:block;color:#6b7280}.band-logo-mark{font-size:11px;font-weight:900;letter-spacing:.04em;background:#22c55e;color:white;border-radius:7px;padding:7px 6px}.member-admin-list{display:grid;gap:7px;margin-top:10px}.member-admin-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #e5e7eb}.member-admin-main{min-width:0;display:flex;flex-direction:column}.member-admin-main span,.member-admin-main small{color:#6b7280;overflow:hidden;text-overflow:ellipsis}.member-admin-controls{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap}.member-admin-controls select{width:auto;min-width:92px;padding:5px 7px}.mini-check{font-size:12px;white-space:nowrap}.member-filter-pills{display:flex;gap:6px}.card textarea{width:100%;box-sizing:border-box}
@media(max-width:600px){.member-name-grid{grid-template-columns:1fr}.member-admin-row{align-items:flex-start;flex-direction:column}.member-admin-controls{justify-content:flex-start;width:100%}.member-status-grid{grid-template-columns:95px 1fr}.member-auth-actions .btn{padding:7px 10px}}

/* Phase 1 member polish */
.member-admin-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:center;gap:12px;padding:10px 0}
.member-admin-main{min-width:0}
.member-admin-main strong,.member-admin-main span,.member-admin-main small{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.member-admin-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;min-width:0;flex-wrap:wrap}
.member-access-controls,.member-action-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.mini-check{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap;line-height:1}
.mini-check input{width:16px!important;height:16px!important;min-width:16px!important;margin:0!important;padding:0!important;flex:0 0 16px}
.member-status-select{width:auto!important;min-width:88px!important;max-width:110px;padding:5px 7px!important}
.member-action-controls .btn{white-space:nowrap}
.home-welcome-card .home-heading h2{margin-bottom:0}
.home-welcome-card .home-announcement{margin-top:14px}
@media(max-width:760px){
  .member-admin-row{grid-template-columns:1fr;align-items:start}
  .member-admin-controls{width:100%;justify-content:space-between;gap:8px}
  .member-access-controls,.member-action-controls{flex:1 1 auto}
  .member-action-controls{justify-content:flex-end}
}
@media(max-width:520px){
  .member-admin-controls{align-items:flex-start;flex-direction:column}
  .member-action-controls{justify-content:flex-start}
}


/* Phase 2 — Schedule & Event Management */
.schedule-shell{display:grid;gap:12px}.schedule-header{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.schedule-header h2{margin:2px 0 0}.schedule-filters{display:flex;gap:6px;flex-wrap:wrap}.active-filter{background:#111827!important;color:#fff!important}.schedule-event-card{padding:14px 16px}.schedule-event-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.schedule-event-top h2{margin:6px 0 3px;font-size:1.08rem}.event-type-pill,.event-status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:800;background:#eef2f7;color:#334155}.event-status-pill{white-space:nowrap}.schedule-event-actions{margin-top:10px;display:flex;justify-content:flex-end}.event-manager-card{margin-bottom:12px}.event-manager-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.compact-field{margin:0;min-width:220px;flex:1}.compact-field select{min-height:36px;padding:6px 9px}.member-shell .home-announcement{margin-top:10px}
@media(max-width:650px){.schedule-header{align-items:flex-start}.schedule-filters{width:100%}.schedule-filters .btn{flex:1 1 auto}.schedule-event-top{gap:8px}.event-manager-row{align-items:stretch}.compact-field{min-width:100%;width:100%}.event-manager-row>.btn{flex:1}}

/* Phase 3 — player tournament experience */
.player-event-shell{max-width:1180px;margin:0 auto}.player-event-header{margin-bottom:12px}.player-event-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.player-event-title-row h2{margin:8px 0 2px}.player-event-tabs{display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.event-checkin-state{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#173d2b;font-size:.78rem;font-weight:800;white-space:nowrap}.member-seat-card{text-align:center;margin:12px 0}.seat-reveal-card{position:relative;width:min(190px,48vw);aspect-ratio:2.5/3.5;border:0;border-radius:14px;padding:0;background:#151515;perspective:900px;cursor:pointer}.seat-card-back,.seat-card-front{position:absolute;inset:0;border-radius:14px;display:flex;align-items:center;justify-content:center;backface-visibility:hidden;transition:transform .5s ease}.seat-card-back{border:5px solid #d6b15b;background:repeating-linear-gradient(45deg,#191919,#191919 7px,#262626 7px,#262626 14px);font-weight:900;color:#d6b15b;flex-direction:column;gap:10px;padding:14px}.seat-card-back strong{font-size:2rem}.seat-card-back small{font-size:.7rem;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}.seat-card-front{background:#f4f1e8;color:#111;transform:rotateY(180deg);flex-direction:column;gap:8px;padding:14px}.seat-card-front small{font-weight:800;letter-spacing:.1em}.seat-card-front strong{font-size:1.15rem}.seat-reveal-card.revealed .seat-card-back{transform:rotateY(180deg)}.seat-reveal-card.revealed .seat-card-front{transform:rotateY(360deg)}@media(max-width:600px){.player-event-title-row{align-items:center}.player-event-title-row h2{font-size:1.15rem}.player-event-tabs .btn{flex:1}.player-event-shell .player-main{margin-top:0}}


/* Phase 3: event-specific player check-in */
.event-checkin-row{margin-top:12px;width:100%}
.event-checkin-button{width:100%;min-height:44px;font-size:.95rem;font-weight:900;letter-spacing:.04em}
.event-checkin-row .event-checkin-state{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center;padding:8px 12px;border-radius:9px;font-size:.82rem;font-weight:900;letter-spacing:.035em;text-align:center}
.event-checkin-row .event-checkin-state.checked{background:#173d2b;color:#fff}
.event-checkin-row .event-checkin-state.muted{background:rgba(255,255,255,.06);color:var(--muted,#aeb6c2)}
@media(max-width:600px){.player-event-title-row{display:block}.event-checkin-row{margin-top:10px}}


/* Phase 3 correction: compact seat reveal, withdraw, and Admin roster */
.member-seat-card{
  margin:10px auto 14px;
  padding:0;
  max-width:420px;
  background:transparent;
  border:0;
  box-shadow:none;
}
.seat-reveal-bar{
  width:100%;
  min-height:44px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:9px;
  background:#171717;
  color:#fff;
  padding:9px 14px;
  font:inherit;
  font-size:.84rem;
  font-weight:900;
  letter-spacing:.045em;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
}
.seat-reveal-bar.revealed{
  background:#173d2b;
  color:#fff;
  border-color:#24593f;
}
.seat-reveal-result{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  flex-wrap:wrap;
}
.seat-reveal-result small{
  font-size:.68rem;
  opacity:.8;
  letter-spacing:.08em;
}
.seat-reveal-result strong{
  font-size:.9rem;
  letter-spacing:.035em;
}
.event-checkin-state.checked{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#fff!important;
}
.event-checkin-state.checked span{color:#fff!important}
.event-withdraw-button{
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:5px 9px;
  font-size:.72rem;
  font-weight:900;
  cursor:pointer;
}
.event-withdraw-button:hover{background:rgba(255,255,255,.1)}
.event-withdraw-button:disabled{opacity:.55}
.event-player-count{
  white-space:nowrap;
  border-radius:999px;
  padding:5px 9px;
  background:#2b2140;
  color:#efe8ff;
  font-size:.72rem;
  font-weight:900;
}
.name-duplicate-warning{color:#b45309;font-weight:800;margin-top:6px}
.event-readonly .seat-chip-count[data-chip-player]{pointer-events:none;cursor:default}
.players-in-tournament-list{max-height:360px;overflow-y:auto}
.player-roster-row .row-meta{white-space:normal}
@media(max-width:560px){
  .player-event-title-row{align-items:flex-start;gap:8px}
  .event-player-count{font-size:.66rem}
  .seat-reveal-bar{min-height:42px;padding:8px 10px;font-size:.78rem}
  .seat-reveal-result{gap:6px}
  .event-checkin-state.checked{padding-left:10px;padding-right:7px}
}
/* Phase 3 polish: high-visibility seat reveal + pending approval indicator */
.seat-reveal-bar:not(.revealed){
  min-height:44px;
  border:1px solid #c9a900!important;
  background:#ffe66b!important;
  color:#111!important;
  box-shadow:0 3px 8px rgba(0,0,0,.18)!important;
  text-shadow:none!important;
  letter-spacing:.055em;
}
.seat-reveal-bar:not(.revealed):active{
  transform:scale(.985);
  background:#ffdf3f!important;
  box-shadow:0 1px 4px rgba(0,0,0,.16)!important;
}
#paymentApprovalDetails .section-count.pending-alert{
  background:#d97706!important;
  color:#fff!important;
  border-color:#b45309!important;
  box-shadow:0 0 0 2px rgba(217,119,6,.13);
}


/* Phase 4 — Tournament records and standings */
.phase4-shell { display:grid; gap:12px; }
.phase4-heading h2 { margin:2px 0 0; }
.history-event-card summary > span:first-child { min-width:0; }
.history-date { margin-left:8px; font-weight:500; color:var(--muted, #6b7280); white-space:nowrap; }

.standings-header,
.standings-row {
  display:grid;
  grid-template-columns:56px minmax(180px,1fr) 70px 90px;
  gap:12px;
  align-items:center;
}
.standings-header {
  padding:0 4px 7px;
  font-size:.78rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--muted, #6b7280);
  border-bottom:1px solid var(--line, #d9dde3);
}
.standings-row {
  min-height:36px;
  padding:7px 4px;
  border-bottom:1px solid var(--line, #e5e7eb);
}
.standings-row:last-child { border-bottom:0; }
.standings-rank,
.standings-events,
.standings-points { font-variant-numeric:tabular-nums; }
.standings-rank { font-weight:800; }
.standings-player { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:700; }
.standings-events { text-align:center; }
.standings-points { text-align:right; font-weight:800; }

.season-detail-card h3 { margin-top:0; }
.season-detail-list { display:grid; }
.season-detail-row,
.season-total-row {
  display:grid;
  grid-template-columns:minmax(180px,1fr) 88px 28px;
  gap:12px;
  align-items:center;
  min-height:34px;
  padding:6px 2px;
  border-bottom:1px solid var(--line, #e5e7eb);
}
.season-event { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.season-points,
.season-total-row strong { text-align:right; font-variant-numeric:tabular-nums; color:inherit; }
.season-counted { text-align:center; font-size:1.05rem; font-weight:900; line-height:1; }
.season-counted.counted { color:#15803d; }
.season-counted.dropped { color:#dc2626; }
.season-total-row { margin-top:4px; border-bottom:0; font-weight:800; }

@media (max-width: 760px) {
  .standings-header,
  .standings-row { grid-template-columns:44px minmax(120px,1fr) 56px 78px; gap:8px; }
  .season-detail-row,
  .season-total-row { grid-template-columns:minmax(130px,1fr) 76px 24px; gap:8px; }
}

/* Phase 4 correction: operational player-name controls live with the tournament roster */
.operational-name-alert{
  background:#d97706!important;
  color:#fff!important;
  border-color:#b45309!important;
  box-shadow:0 0 0 2px rgba(217,119,6,.13);
}
.operational-name-alert-text{
  margin-left:6px;
  color:#b45309;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.player-name-mode-row{
  display:flex;
  align-items:end;
  gap:10px;
  flex-wrap:wrap;
  margin-bottom:8px;
}
.player-name-mode-row .compact-field{margin:0;min-width:220px;max-width:320px;}
.player-name-mode-row .name-duplicate-warning{margin:0 0 7px;}

/* Phase 4 — event filing + page-specific admin display controls */
.event-selector-row{margin-bottom:12px}
.event-identity-grid{display:grid;grid-template-columns:150px minmax(260px,1.6fr) minmax(220px,1fr) minmax(220px,1fr);gap:10px;align-items:end}
.event-identity-grid .field{margin:0}
.event-identity-grid input{width:100%}
.event-identity-actions{display:flex;justify-content:flex-end;margin-top:10px;margin-bottom:4px}
.phase4-display-settings{margin-top:0}
.phase4-settings-row{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
.phase4-settings-row .compact-field{min-width:180px}
.phase4-settings-row .count-best-field{max-width:160px;flex:0 0 160px}
.phase4-settings-row>.btn{margin-bottom:1px}
@media(max-width:900px){.event-identity-grid{grid-template-columns:1fr 1fr}.event-identity-grid .field:nth-child(1),.event-identity-grid .field:nth-child(2){grid-column:span 2}}
@media(max-width:650px){.event-identity-grid{grid-template-columns:1fr}.event-identity-grid .field:nth-child(1),.event-identity-grid .field:nth-child(2){grid-column:auto}.phase4-settings-row .compact-field,.phase4-settings-row .count-best-field{min-width:100%;max-width:none;flex:1 1 100%}.phase4-settings-row>.btn{width:100%}}

/* Phase 4 correction — Events identity fields stacked full-width */
.event-manager-card .event-identity-grid{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:7px!important;
  align-items:stretch!important;
}
.event-manager-card .event-identity-grid .field{
  margin:0!important;
  min-width:0!important;
  max-width:none!important;
  width:100%!important;
  grid-column:auto!important;
}
.event-manager-card .event-identity-grid .field label{
  display:block;
  margin-bottom:3px;
}
.event-manager-card .event-identity-grid input{
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
}
.event-manager-card .event-identity-actions{
  margin-top:8px;
}

/* Phase 5A — unified cash-game event foundation */
.event-tournament-identity,
.event-cash-identity{display:grid;gap:10px}
.event-tournament-identity.hidden,
.event-cash-identity.hidden{display:none!important}
.cash-event-basic-grid{margin:0}
.cash-source-note{border-top:1px solid rgba(255,255,255,.09);padding-top:10px}
.cash-player-main{display:grid;gap:12px}
.cash-integration-card,.cash-admin-boundary-card{border-style:dashed}
@media (max-width:640px){.cash-event-basic-grid{grid-template-columns:1fr 1fr}}

/* Phase 5A cash promotion event setup */
.cash-promotion-setup{margin-top:10px;padding-top:10px;border-top:1px solid var(--border,#d8d8d8);display:grid;gap:8px}
.cash-promo-heading{font-weight:800;font-size:.86rem;text-transform:uppercase;letter-spacing:.04em;margin-top:2px}
.cash-promo-heading.small-heading{font-size:.78rem;margin-top:5px}
.cash-promo-toggle{align-self:end;min-height:38px}
.cash-tier-list{display:grid;gap:5px}
.cash-tier-row{display:grid;grid-template-columns:52px repeat(4,minmax(0,1fr));gap:5px;align-items:end;padding:6px;border:1px solid var(--border,#ddd);border-radius:8px}
.cash-tier-row label{font-size:.68rem;font-weight:700}.cash-tier-row input{width:100%;min-width:0}
.cash-rounding{max-width:180px}
@media(max-width:700px){.cash-tier-row{grid-template-columns:1fr 1fr}.cash-tier-row strong{grid-column:1/-1}.cash-promotion-setup .grid.two{grid-template-columns:1fr 1fr}}
