* {
  box-sizing: border-box;
}

:root {
  --bg: #020814;
  --bg-2: #04152d;
  --panel: rgba(3, 12, 28, 0.88);
  --panel-2: rgba(7, 23, 50, 0.78);
  --panel-3: rgba(10, 35, 78, 0.68);
  --text: #f4f8ff;
  --muted: #aebfd5;
  --border: rgba(0, 170, 255, 0.22);
  --accent: #009dff;
  --accent-2: #00c8ff;
  --accent-soft: rgba(0, 157, 255, 0.14);
  --danger: #ff5c7a;
  --success: #51ffb0;
  --warning: #d5b58c;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at 15% 18%, rgba(0, 180, 255, 0.18), transparent 34%),
    radial-gradient(circle at 88% 82%, rgba(0, 100, 255, 0.18), transparent 42%),
    linear-gradient(135deg, var(--bg) 0%, var(--bg-2) 50%, #071f49 100%);
  color: var(--text);
  font-family: Arial, Helvetica, sans-serif;
}

.topbar {
  padding: 24px 32px;
  border-bottom: 1px solid var(--border);
  background: rgba(16, 24, 39, 0.8);
  backdrop-filter: blur(10px);
}

.topbar h1 {
  margin: 0;
  font-size: 28px;
}

.topbar p {
  margin: 6px 0 0;
  color: var(--muted);
}

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

/* SHARED LAYOUT */

.layout {
  display: grid;
  grid-template-columns: 420px 1fr;
  gap: 20px;
  padding: 24px;
}

.card {
  background: rgba(16, 24, 39, 0.92);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 20px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.card-header,
.roster-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

h2,
h3 {
  margin: 0 0 14px;
}

form {
  display: grid;
  gap: 14px;
}

label {
  display: grid;
  gap: 7px;
  color: var(--muted);
  font-size: 14px;
}

input,
select {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel-2);
  color: var(--text);
  padding: 12px 13px;
  outline: none;
}

input:focus,
select:focus {
  border-color: var(--accent-2);
}

.primary-btn,
.secondary-btn,
.ghost-btn,
.danger-btn {
  border: 0;
  border-radius: 12px;
  padding: 11px 14px;
  cursor: pointer;
  font-weight: 700;
}

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

.secondary-btn {
  background: rgba(56, 189, 248, 0.16);
  color: var(--accent-2);
  border: 1px solid rgba(56, 189, 248, 0.3);
}

.ghost-btn {
  background: transparent;
  color: var(--muted);
  border: 1px solid var(--border);
}

.danger-btn {
  background: rgba(251, 113, 133, 0.16);
  color: var(--danger);
  border: 1px solid rgba(251, 113, 133, 0.35);
}

.hidden {
  display: none !important;
}

.message {
  min-height: 20px;
  color: var(--accent);
}

.empty-state {
  color: var(--muted);
  padding: 20px;
}

/* TEAM ADMIN PAGE */

.roster-rows {
  display: grid;
  gap: 10px;
}

.player-row {
  display: grid;
  grid-template-columns: 1fr 1fr 120px 42px;
  gap: 8px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(21, 31, 50, 0.75);
}

.player-row button {
  height: 42px;
  padding: 0;
}

.teams-list {
  display: grid;
  gap: 14px;
}

.team-card {
  display: grid;
  grid-template-columns: 76px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: rgba(21, 31, 50, 0.72);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.logo-box {
  width: 76px;
  height: 76px;
  border-radius: 16px;
  background: #07111f;
  border: 1px solid var(--border);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.logo-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.team-info h3 {
  margin: 0;
  font-size: 20px;
}

.team-info p {
  margin: 5px 0;
  color: var(--muted);
}

.roster-pill {
  display: inline-block;
  margin: 4px 5px 0 0;
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 12px;
  background: rgba(56, 189, 248, 0.12);
  color: var(--accent-2);
}

.team-actions {
  display: flex;
  gap: 8px;
}

/* DASHBOARD */

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 20px;
  padding: 24px;
}

.dashboard-card {
  display: block;
  min-height: 170px;
  padding: 24px;
  background: rgba(16, 24, 39, 0.92);
  border: 1px solid var(--border);
  border-radius: 18px;
  color: var(--text);
  text-decoration: none;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  transition: 0.2s ease;
}

.dashboard-card:hover {
  transform: translateY(-3px);
  border-color: var(--accent-2);
}

.dashboard-card h2 {
  margin: 0 0 12px;
}

.dashboard-card p {
  color: var(--muted);
}

.dashboard-card.disabled {
  opacity: 0.45;
  pointer-events: none;
  background-repeat: repeat;
  background-size: 180px 180px, 100% 100%;
}

.bracket-mini-preview.is-panning { cursor: grabbing; }

/* LEAGUE PAGE */

.team-select-list {
  display: grid;
  gap: 10px;
  max-height: 520px;
  overflow-y: auto;
  padding-right: 4px;
}

.select-team-row {
  display: grid;
  grid-template-columns: 22px 44px 1fr auto;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(21, 31, 50, 0.72);
  color: var(--text);
  cursor: pointer;
}

.select-team-row input {
  width: auto;
}

.mini-logo {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  border: 1px solid var(--border);
  background: #07111f;
  overflow: hidden;
  font-size: 12px;
  font-weight: 800;
}

.mini-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.league-card {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  background: rgba(21, 31, 50, 0.72);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.league-card h3 {
  margin: 0 0 5px;
}

.league-card p {
  margin: 0 0 8px;
  color: var(--muted);
}

/* BRACKET PAGE */

.bracket-layout {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 20px;
  padding: 24px;
  align-items: start;
}

.teams-panel {
  width: 420px;
  min-width: 420px;
  transition: width 0.2s ease, min-width 0.2s ease;
}

.teams-toolbar {
  display: flex;
  gap: 8px;
  margin-bottom: 14px;
}

.teams-toolbar button {
  flex: 1;
}

.teams-title {
  margin-bottom: 12px;
}

.teams-grid {
  display: grid;
  gap: 12px;
}

.bracket-team-card {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(21, 31, 50, 0.72);
}

.bracket-team-logo {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid var(--border);
  background: #07111f;
  display: grid;
  place-items: center;
}

.bracket-team-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.bracket-team-card h3 {
  margin: 0 0 5px;
}

.bracket-team-card p {
  margin: 0;
  color: var(--muted);
}

.seed-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 6px;
  color: var(--muted);
}

.seed-input {
  width: 70px;
  padding: 6px 8px;
  border-radius: 8px;
}

.bracket-preview {
  display: flex;
  gap: 40px;
  overflow-x: auto;
  min-height: 600px;
}

.bracket-round {
  min-width: 280px;
}

.round-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.round-title-row h3 {
  margin: 0;
}

.round-title-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

.round-date-select,
.round-bo-select {
  padding: 7px 9px;
  border-radius: 9px;
}

.round-date-select {
  width: 138px;
}

.round-bo-select {
  width: 86px;
}

.match-card {
  display: grid;
  gap: 8px;
  margin-bottom: 20px;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid var(--border);
  background: rgba(21, 31, 50, 0.8);
}

.match-title {
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 4px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.match-team {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border-radius: 10px;
  background: rgba(7, 17, 31, 0.9);
}



.match-team-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: stretch;
}

.dq-team-btn {
  min-width: 44px;
  padding: 0 10px;
  border: 1px solid rgba(251, 113, 133, 0.35);
  border-radius: 10px;
  background: rgba(251, 113, 133, 0.10);
  color: var(--danger);
  font-family: inherit;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  cursor: pointer;
}

.dq-team-btn:hover:not(:disabled) {
  border-color: var(--danger);
  background: rgba(251, 113, 133, 0.18);
}

.dq-team-btn:disabled {
  cursor: not-allowed;
  opacity: 0.45;
}

.dq-badge {
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(251, 113, 133, 0.16);
  color: var(--danger);
  font-size: 11px;
}

.dq-loser-team {
  border: 1px solid rgba(251, 113, 133, 0.45);
  background: rgba(251, 113, 133, 0.10);
}

.dq-loser-team span,
.dq-loser-team em {
  color: var(--danger);
}

.match-team strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-team em {
  margin-left: auto;
  font-style: normal;
  font-weight: 900;
  color: var(--accent);
}

.match-team.bye {
  opacity: 0.45;
}

.placeholder-team {
  color: var(--muted);
  background: rgba(56, 189, 248, 0.08);
}

.winner-team {
  border: 1px solid var(--accent);
  background: rgba(0, 200, 255, 0.14);
}

.selectable-team {
  width: 100%;
  border: 1px solid transparent;
  cursor: pointer;
  transition: 0.15s ease;
  color: var(--text);
  font-family: inherit;
}

.selectable-team:hover {
  border-color: var(--accent-2);
  transform: scale(1.02);
}

.bye-badge {
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(0, 200, 255, 0.14);
  color: var(--accent);
  font-size: 11px;
}

.ff-badge {
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(251, 113, 133, 0.16);
  color: var(--danger);
  font-size: 11px;
}

.ff-loser-team em {
  color: var(--danger);
  font-weight: 900;
}

.match-controls {
  display: grid;
  grid-template-columns: 72px 48px 12px 48px auto auto;
  gap: 8px;
  align-items: center;
  margin-top: 8px;
}

.match-controls label {
  display: flex;
  align-items: center;
  gap: 5px;
}

.match-controls select,
.score-input {
  padding: 6px;
  border-radius: 8px;
}

.score-input {
  width: 48px;
  text-align: center;
}

/* WINNER CARD */

.winner-card {
  min-width: 300px;
  align-self: flex-start;
  padding: 22px;
  border: 1px solid var(--accent);
  border-radius: 20px;
  background: rgba(0, 200, 255, 0.12);
  text-align: center;
  box-shadow: 0 0 40px rgba(0, 200, 255, 0.12);
}

.winner-card-title {
  color: var(--accent);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 14px;
}

.winner-logo {
  width: 110px;
  height: 110px;
  margin: 0 auto 14px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  border: 1px solid var(--border);
  background: #07111f;
  overflow: hidden;
}

.winner-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.winner-card h2 {
  margin: 0;
}

.winner-card p {
  margin: 7px 0 0;
  color: var(--muted);
}

/* COLLAPSED TEAM PANEL */

.teams-collapsed {
  width: 120px;
  min-width: 120px;
}

.teams-collapsed .teams-toolbar {
  display: grid;
  grid-template-columns: 1fr;
}

.teams-collapsed .teams-toolbar button {
  width: 100%;
  font-size: 12px;
  padding: 8px 6px;
}

.teams-collapsed #teamsGrid {
  display: grid;
  gap: 10px;
}

.teams-collapsed .bracket-team-card {
  grid-template-columns: 1fr;
  justify-items: center;
  text-align: center;
  padding: 10px 6px;
}

.teams-collapsed .bracket-team-logo {
  width: 58px;
  height: 58px;
}

.teams-collapsed .seed-label {
  display: none;
}

.teams-collapsed .bracket-team-card>div:last-child {
  width: 100%;
}

.teams-collapsed .bracket-team-card h3 {
  font-size: 12px;
  line-height: 1.1;
  margin-top: 6px;
  max-width: 80px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.teams-collapsed .bracket-team-card h3::before {
  content: "#";
  opacity: 0.6;
  margin-right: 2px;
}

/* MODAL */

.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  display: grid;
  place-items: center;
  z-index: 9999;
}

.modal-card {
  width: min(480px, 92vw);
  background: var(--panel);
  border: 1px solid var(--border);
  border-radius: 18px;
  padding: 22px;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.45);
}

.score-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}

.checkbox-row {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.checkbox-row input {
  width: auto;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
}

/* RESPONSIVE */

@media (max-width: 1100px) {
  .bracket-layout {
    grid-template-columns: 1fr;
  }

  .teams-panel,
  .teams-collapsed {
    width: 100%;
    min-width: 100%;
  }

  .teams-collapsed #teamsGrid {
    grid-template-columns: repeat(auto-fit, minmax(76px, 1fr));
  }
}

@media (max-width: 950px) {
  .layout {
    grid-template-columns: 1fr;
  }

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

  .team-card {
    grid-template-columns: 64px 1fr;
  }

  .team-actions {
    grid-column: 1 / -1;
  }
}

.edit-note {
  margin: 8px 0 0;
  color: var(--accent);
  font-size: 12px;
}

.locked-note {
  margin: 8px 0 0;
  color: var(--danger);
  font-size: 12px;
}

.team-search-tools {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.az-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.az-btn {
  border: 1px solid var(--border);
  background: rgba(21, 31, 50, 0.72);
  color: var(--muted);
  border-radius: 8px;
  padding: 7px 9px;
  cursor: pointer;
  font-weight: 700;
  font-size: 12px;
}

.az-btn:hover {
  border-color: var(--accent-2);
  color: var(--text);
}

.az-btn.active {
  background: rgba(56, 189, 248, 0.18);
  border-color: var(--accent-2);
  color: var(--accent-2);
}

.double-section {
  display: grid;
  gap: 16px;
  min-width: 100%;
}

.double-section h2 {
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(56, 189, 248, 0.1);
  color: var(--accent-2);
}

.double-rounds {
  display: flex;
  gap: 40px;
  overflow-x: auto;
  padding-bottom: 16px;
}

.double-nav {
  display: flex;
  gap: 10px;
  margin-bottom: 14px;
  flex-wrap: wrap;
}

.active-tab {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

/* --- Final bracket/league fixes --- */
.bracket-preview {
  display: flex;
  flex-direction: row;
  gap: 40px;
  overflow-x: auto;
  min-height: 600px;
}

.bracket-preview.double-elim-view {
  flex-direction: column;
  gap: 18px;
}

.double-nav {
  display: flex;
  gap: 10px;
  margin-bottom: 4px;
  flex-wrap: wrap;
}

.active-tab {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

.double-section {
  display: grid;
  gap: 16px;
  min-width: 100%;
}

.double-section h2 {
  margin: 0;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(56, 189, 248, 0.1);
  color: var(--accent-2);
}

.double-rounds {
  display: flex;
  gap: 40px;
  overflow-x: auto;
  padding-bottom: 16px;
}

.schedule-section .bracket-round {
  min-width: 340px;
}

.league-team-tools {
  display: grid;
  gap: 12px;
}

.compact-header {
  align-items: center;
}

/* --- League table / round robin options and ladder --- */
.league-options-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(21, 31, 50, 0.55);
}

.points-grid,
.league-options-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

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

.league-ladder-section {
  display: grid;
  gap: 14px;
  min-width: 100%;
}

.ladder-header-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(56, 189, 248, 0.1);
}

.ladder-header-row h2 {
  margin: 0;
  color: var(--accent-2);
}

.points-system-note {
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.ladder-table-wrap {
  overflow-x: auto;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(7, 17, 31, 0.74);
}

.ladder-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 1120px;
}

.ladder-table th,
.ladder-table td {
  padding: 11px 12px;
  border-bottom: 1px solid rgba(39, 54, 79, 0.55);
  text-align: left;
  white-space: nowrap;
}

.ladder-table th {
  color: var(--muted);
  background: rgba(16, 24, 39, 0.95);
  font-size: 13px;
}

.ladder-table tbody tr:hover {
  background: rgba(56, 189, 248, 0.06);
}

.ladder-pos,
.ladder-points {
  font-weight: 900;
  color: var(--text);
}

.ladder-pos {
  display: flex;
  align-items: center;
  gap: 8px;
}

.movement {
  font-size: 12px;
  opacity: 0.65;
}

.movement.up {
  color: var(--accent);
  opacity: 1;
}

.movement.down {
  color: var(--danger);
  opacity: 1;
}

.zone-pill {
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  background: rgba(56, 189, 248, 0.16);
  color: var(--accent-2);
}

.top-zone {
  box-shadow: inset 4px 0 0 var(--accent-2);
}

.bottom-zone {
  box-shadow: inset 4px 0 0 var(--danger);
}

.ladder-club {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 260px;
}

.ladder-logo {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 9px;
  overflow: hidden;
  background: #07111f;
  font-size: 11px;
  font-weight: 900;
}

.ladder-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}


.form-dot {
  width: 24px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 900;
  color: white;
}

.form-dot.win {
  background: #16a34a;
  margin: 2px;
}

.form-dot.loss {
  background: #e11d48;
  margin: 2px;
}

.form-dot.draw {
  background: #f59e0b;
}

.draw-badge {
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(245, 158, 11, 0.16);
  color: #fbbf24;
  font-size: 11px;
}

.draw-team {
  border: 1px solid rgba(245, 158, 11, 0.45);
  background: rgba(245, 158, 11, 0.08);
}

.draw-result-btn {
  margin-top: 4px;
  width: 100%;
}

@media (max-width: 900px) {

  .points-grid,
  .league-options-grid,
  .league-options-grid.two-col {
    grid-template-columns: 1fr;
  }

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


/* Ladder alignment update */
.league-ladder-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

.league-ladder-table thead th,
.league-ladder-table tbody td {
  vertical-align: middle;
  text-align: center;
}

.league-ladder-table .col-pos {
  width: 50px;
}

.league-ladder-table .col-move {
  width: 40px;
}

.league-ladder-table .col-club {
  width: 360px;
  text-align: left;
}

.ladder-pos-cell {
  font-weight: 700;
  font-size: 1rem;
}

.ladder-move-cell {
  font-size: 0.95rem;
  font-weight: 700;
}

.movement.up {
  color: #3ddc84;
}

.movement.down {
  color: #ff4d67;
}

.movement.same {
  color: #7f8aa3;
}

.ladder-club {
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  margin-bottom: -1px;
}

.ladder-club strong {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.zone-pill {
  display: none;
}

.top-zone {
  border-left: 4px solid #19c8ff;
}

.bottom-zone {
  border-left: 4px solid #ff4569;
}


/* League branding + ladder roster hover */
.league-card-main {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 14px;
  align-items: center;
}

.league-card-logo {
  width: 64px;
  height: 64px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #07111f;
  border: 1px solid var(--border);
  font-weight: 900;
  color: var(--accent-2);
}

.league-card-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.prize-pool-line {
  color: var(--accent);
  font-weight: 800;
  margin: 0 0 8px !important;
}

#leagueSubtitle {
  display: flex;
  align-items: center;
  gap: 10px;
}

.league-header-logo {
  width: 34px;
  height: 34px;
  object-fit: contain;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #07111f;
}

.ladder-club {
  position: relative;
}

.ladder-roster-popover {
  position: absolute;
  left: 44px;
  top: calc(100% + 8px);
  min-width: 220px;
  z-index: 50;
  display: none;
  gap: 6px;
  padding: 12px;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(7, 17, 31, 0.98);
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.45);
  color: var(--text);
}

.ladder-club:hover .ladder-roster-popover {
  display: grid;
}

.ladder-roster-popover b {
  color: var(--accent-2);
  margin-bottom: 3px;
}

.ladder-roster-popover span,
.ladder-roster-popover em {
  display: block;
  font-style: normal;
  color: var(--text);
  font-size: 12px;
}

.ladder-roster-popover small {
  color: var(--muted);
}

/* Finals round tab integration */
.fixture-finals-wrap {
  width: 100%;
}

.finals-nav {
  margin-bottom: 12px;
}

.fixture-round-tabs .primary-btn.active-tab,
.fixture-round-tabs .secondary-btn.active-tab {
  border-color: var(--accent) !important;
  color: var(--accent) !important;
}

/* APPROVED STREAMERS */
.streamer-search-tools {
  display: grid;
  gap: 7px;
  margin: 14px 0;
}

.streamers-list {
  display: grid;
  gap: 14px;
}

.streamer-card {
  display: grid;
  grid-template-columns: 76px 1fr auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  background: rgba(21, 31, 50, 0.72);
  border: 1px solid var(--border);
  border-radius: 16px;
}

.streamer-card.inactive {
  opacity: 0.55;
}

.streamer-logo-box {
  width: 76px;
  height: 76px;
  border-radius: 16px;
  background: #07111f;
  border: 1px solid var(--border);
  display: grid;
  place-items: center;
  overflow: hidden;
  font-weight: 900;
  color: var(--accent-2);
}

.streamer-logo-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.streamer-info h3 {
  margin: 0 0 4px;
}

.streamer-info p {
  margin: 0 0 5px;
  color: var(--muted);
}

.streamer-info a {
  color: var(--accent-2);
  word-break: break-all;
}

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

/* MATCH STREAM ASSIGNMENT */
.match-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.match-streamed-by {
  margin-top: 3px;
  color: var(--accent-2);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.match-streamed-by.empty {
  color: var(--muted);
  opacity: 0.7;
}

.match-streamer-logos {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 4px;
  min-width: 30px;
}

.match-streamer-logo {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  border: 1px solid var(--border);
  background: #07111f;
  overflow: hidden;
  color: var(--accent-2);
  font-size: 11px;
  font-weight: 900;
  text-decoration: none;
}

.match-streamer-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.match-streamer-assign {
  display: grid;
  gap: 6px;
  margin-top: 6px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}

.match-streamer-assign select {
  min-height: 54px;
  padding: 6px 8px;
  border-radius: 9px;
  font-size: 12px;
}

.match-streamer-assign.empty {
  color: var(--muted);
  opacity: 0.7;
}

@media (max-width: 950px) {
  .streamer-card {
    grid-template-columns: 64px 1fr;
  }

  .streamer-card .team-actions {
    grid-column: 1 / -1;
  }
}

/* Streamer modal assignment update */
.match-title-row {
  position: relative;
}

.match-streamed-by a {
  color: var(--accent-2);
  text-decoration: none;
}

.match-streamed-by a:hover {
  text-decoration: underline;
}

.match-streamer-logos {
  position: absolute;
  top: 0;
  right: 0;
}

.match-streamer-logo {
  border: 1px solid var(--border);
  cursor: pointer;
  padding: 0;
}

.match-streamer-logo:hover,
.match-streamer-question:hover {
  border-color: var(--accent-2);
  transform: scale(1.05);
}

.match-streamer-question {
  background: rgba(56, 189, 248, 0.08);
  color: var(--muted);
  font-size: 18px;
  font-weight: 900;
}

.streamer-modal-card {
  max-width: 560px;
}

.streamer-modal-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
  max-height: 420px;
  overflow-y: auto;
}

.streamer-choice-card {
  display: grid;
  grid-template-columns: 22px 48px 1fr;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(21, 31, 50, 0.72);
  cursor: pointer;
}

.streamer-choice-card input {
  width: auto;
}

.streamer-choice-logo {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #07111f;
  overflow: hidden;
  color: var(--accent-2);
  font-weight: 900;
}

.streamer-choice-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.streamer-choice-info {
  display: grid;
  gap: 3px;
  color: var(--text);
}

.streamer-choice-info small {
  color: var(--muted);
}


.applications-panel {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--border);
  display: grid;
  gap: 12px;
}

.applications-head,
.application-title-row,
.applications-counts,
.application-actions,
.application-card-actions,
.copy-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.applications-head {
  justify-content: space-between;
}

.application-status {
  padding: 3px 7px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  background: rgba(56, 189, 248, 0.12);
  color: var(--accent-2);
}

.application-status.open,
.application-status.approved {
  background: rgba(0, 200, 255, 0.14);
  color: var(--accent);
}

.application-status.closed,
.application-status.rejected {
  background: rgba(251, 113, 133, 0.14);
  color: var(--danger);
}

.copy-row input {
  flex: 1;
}

.application-actions {
  flex-wrap: wrap;
}

.applications-counts {
  flex-wrap: wrap;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.applications-list {
  display: grid;
  gap: 10px;
  max-height: 360px;
  overflow-y: auto;
  padding-right: 4px;
}

.application-card {
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(21, 31, 50, 0.72);
}

.application-card p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.application-title-row {
  align-items: center;
}

.application-title-row>div:nth-child(2) {
  flex: 1;
  display: grid;
  gap: 2px;
}

.application-roster,
.application-notes {
  line-height: 1.35;
}

.roster-manage-link {
  text-align: center;
  text-decoration: none;
}

.apply-layout {
  grid-template-columns: minmax(320px, 720px);
  justify-content: center;
}

textarea {
  width: 100%;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--panel-2);
  color: var(--text);
  padding: 12px 13px;
  outline: none;
  resize: vertical;
}

.teams-collapsed #leagueApplicationsPanel {
  display: none !important;
}

/* League progress / archive section */
.league-list-section {
  display: grid;
  gap: 14px;
  margin-top: 14px;
}

.league-list-section:first-child {
  margin-top: 0;
}

.league-list-heading {
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(56, 189, 248, 0.08);
  color: var(--accent-2);
}

.archive-section {
  margin-top: 24px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.league-card-content {
  min-width: 0;
  width: 100%;
}

.league-card-title-row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.league-card-title-row h3 {
  margin: 0 0 5px;
}

.completed-pill {
  display: inline-flex;
  align-items: center;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  background: rgba(0, 200, 255, 0.14);
  color: var(--accent);
  border: 1px solid rgba(0, 200, 255, 0.28);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.league-card-completed {
  opacity: 0.86;
}

.league-winner-line {
  margin: 7px 0 9px;
  color: var(--accent);
  font-weight: 800;
}

.league-progress-wrap {
  display: grid;
  gap: 6px;
  margin: 10px 0 10px;
  max-width: 520px;
}

.league-progress-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.league-progress-bar {
  width: 100%;
  height: 10px;
  border-radius: 999px;
  background: rgba(7, 17, 31, 0.9);
  border: 1px solid var(--border);
  overflow: hidden;
}

.league-progress-bar span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent-2), var(--accent));
}

.tournament-date-line {
  margin: 4px 0;
  color: var(--muted);
  font-weight: 700;
}

/* Admin ladder preview inside saved league cards */
.admin-ladder-panel {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid rgba(75, 95, 130, 0.55);
}

.admin-ladder-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 14px;
  margin-bottom: 12px;
}

.admin-ladder-header h3 {
  margin: 0 0 4px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-2);
}

.admin-ladder-header p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}

.admin-ladder-meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.admin-ladder-meta span {
  padding: 6px 10px;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: rgba(7, 17, 31, 0.72);
  color: var(--accent-2);
  font-size: 12px;
  font-weight: 900;
}

.admin-ladder-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(75, 95, 130, 0.78);
  border-radius: 16px;
  background: rgba(5, 13, 24, 0.82);
}

.admin-ladder-table {
  width: 100%;
  min-width: 1280px;
  border-collapse: collapse;
  table-layout: fixed;
}

.admin-ladder-table th,
.admin-ladder-table td {
  padding: 12px 14px;
  border-bottom: 1px solid rgba(75, 95, 130, 0.45);
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}

.admin-ladder-table th {
  background: rgba(12, 22, 38, 0.96);
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}

.admin-ladder-table tbody tr:hover {
  background: rgba(56, 189, 248, 0.07);
}

.admin-ladder-table .club-col {
  width: 340px;
  text-align: left;
}

.admin-ladder-table td.club-col {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-ladder-table .ladder-logo {
  flex: 0 0 auto;
}

.admin-fixture-strip {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.admin-fixture-strip h4 {
  margin: 0;
  color: var(--accent-2);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.admin-upcoming-match {
  display: grid;
  grid-template-columns: 150px 1fr auto;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(75, 95, 130, 0.45);
  border-radius: 12px;
  background: rgba(9, 19, 34, 0.68);
}

.admin-upcoming-match strong {
  color: var(--accent-2);
}

.admin-upcoming-match small {
  color: var(--muted);
  font-weight: 800;
}

.mini-team-inline {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-right: 4px;
  font-weight: 900;
}

.mini-team-inline img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.error-message {
  color: var(--danger);
}

@media (max-width: 900px) {
  .admin-ladder-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-upcoming-match {
    grid-template-columns: 1fr;
  }
}

/* Overlay link panels */
.overlay-links-panel {
  margin: 18px 24px 0;
}

.overlay-links-grid,
.league-overlay-links-grid {
  display: grid;
  gap: 12px;
}

.overlay-links-grid {
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
}

.overlay-link-card {
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid rgba(74, 222, 255, 0.18);
  border-radius: 16px;
  background: rgba(7, 16, 32, 0.72);
  box-shadow: inset 3px 0 0 rgba(34, 211, 238, 0.75);
}

.overlay-link-card h3,
.league-overlay-links h3 {
  margin: 0;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.overlay-link-card p,
.league-overlay-links p {
  margin: 4px 0 0;
  color: var(--muted);
}

.overlay-link-input,
.league-overlay-link-row input {
  width: 100%;
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid rgba(75, 95, 130, 0.7);
  border-radius: 10px;
  background: rgba(2, 8, 23, 0.85);
  color: var(--accent-2);
  font-size: 0.82rem;
  font-weight: 800;
}

.overlay-link-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.league-overlay-links {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(74, 222, 255, 0.16);
  border-radius: 18px;
  background: rgba(2, 8, 23, 0.45);
}

.league-overlay-link-row {
  display: grid;
  grid-template-columns: 170px minmax(220px, 1fr) auto auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(75, 95, 130, 0.42);
  border-radius: 12px;
  background: rgba(9, 19, 34, 0.62);
}

.league-overlay-link-row strong {
  color: var(--accent-2);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.78rem;
}

@media (max-width: 900px) {
  .overlay-links-panel {
    margin: 12px;
  }

  .league-overlay-link-row {
    grid-template-columns: 1fr;
  }
}

/* Overlay style builder inside Overlay / Viewer Links. */
.overlay-style-controls {
  grid-column: 1 / -1;
  padding: 14px;
  border: 1px solid rgba(74, 222, 255, 0.20);
  border-radius: 16px;
  background: rgba(2, 8, 23, 0.62);
  box-shadow: inset 3px 0 0 rgba(34, 211, 238, 0.72);
}

.overlay-style-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.overlay-style-head h3 {
  margin: 0;
  color: var(--text);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.overlay-style-head p,
.font-list-note {
  margin: 4px 0 0;
  color: var(--muted);
}

.overlay-style-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px;
}

.overlay-style-grid label,
.overlay-toggle {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.overlay-style-grid input,
.overlay-style-grid select {
  width: 100%;
  min-height: 38px;
  border: 1px solid rgba(75, 95, 130, 0.7);
  border-radius: 10px;
  background: rgba(2, 8, 23, 0.9);
  color: var(--text);
  padding: 8px 10px;
  font-weight: 800;
}

.overlay-style-grid input[type="color"] {
  padding: 4px;
}

.overlay-toggle {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  white-space: nowrap;
}

.overlay-toggle input {
  width: 18px;
  height: 18px;
}

.league-style-controls {
  margin-bottom: 12px;
}

.overlay-toggle-stack {
  display: grid;
  gap: 8px;
  justify-items: end;
}

.overlay-style-grid small,
.font-list-note code {
  text-transform: none;
  letter-spacing: 0;
  font-weight: 700;
  color: rgba(229, 231, 235, 0.72);
}

.overlay-style-grid input[type="range"] {
  padding: 0;
  min-height: 28px;
}

/* Hub naming + larger style panel support */
.overlay-style-controls .overlay-toggle-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.overlay-style-controls small {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, .65);
  font-size: calc(.72rem * var(--preview-font-scale));
}

/* Cleaner Tournament / League Hub overlay settings layout */
.hub-style-controls {
  padding: 16px;
}

.overlay-style-sections {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 14px;
}

.overlay-style-section {
  border: 1px solid rgba(74, 222, 255, 0.14);
  border-radius: 14px;
  background: rgba(7, 16, 32, 0.58);
  padding: 12px;
}

.style-section-title {
  color: var(--accent-2);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  margin-bottom: 10px;
}

.compact-style-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}

.font-list-details {
  margin-top: 12px;
  border-top: 1px solid rgba(75, 95, 130, 0.35);
  padding-top: 10px;
  color: var(--muted);
}

.font-list-details summary {
  cursor: pointer;
  color: var(--accent-2);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.font-list-details p {
  margin: 8px 0 0;
}

.overlay-links-grid .overlay-style-controls {
  order: -1;
}

@media (max-width: 1100px) {
  .overlay-style-sections {
    grid-template-columns: 1fr;
  }
}

/* Standard match row time controls */
.match-slot-times-panel {
  margin: 12px 0 14px;
  padding: 14px;
  border: 1px solid rgba(84, 215, 255, 0.28);
  border-radius: 16px;
  background: rgba(5, 13, 28, 0.62);
}

.slot-times-head {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-bottom: 10px;
}

.slot-times-head strong {
  color: #fff;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.slot-times-head span {
  color: #93a4bd;
  font-size: 0.82rem;
}

.slot-times-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 10px;
}

.slot-time-control {
  display: flex;
  flex-direction: column;
  gap: 6px;
  color: #54d7ff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.slot-time-control input {
  width: 100%;
  padding: 9px 10px;
  border-radius: 10px;
  border: 1px solid rgba(110, 152, 215, 0.8);
  background: rgba(4, 9, 21, 0.85);
  color: #fff;
  font-weight: 800;
}

.slot-time-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 8px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(84, 215, 255, 0.14);
  border: 1px solid rgba(84, 215, 255, 0.45);
  color: #54d7ff;
  font-size: 0.68rem;
  line-height: 1;
}


.slot-date-badge {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 7px;
  border-radius: 999px;
  background: rgba(84, 215, 255, 0.10);
  border: 1px solid rgba(84, 215, 255, 0.35);
  color: #c9eeff;
  font-size: 0.68rem;
  line-height: 1;
}

.two-col-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.role-checklist {
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 12px;
  display: grid;
  gap: 8px;
  background: rgba(7, 17, 31, 0.35);
}

.role-checklist legend {
  padding: 0 8px;
  color: var(--muted);
  font-size: 13px;
}

.role-checklist label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 6px 0;
}

.mini-pill {
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border-radius: 999px;
  border: 1px solid rgba(56, 189, 248, 0.3);
  background: rgba(56, 189, 248, 0.1);
  color: var(--accent-2);
  font-size: 11px;
  font-weight: 700;
}

.modal-section-title {
  margin: 14px 0 8px;
  font-size: 13px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.talent-choice-logo {
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 760px) {
  .two-col-fields {
    grid-template-columns: 1fr;
  }
}

/* Casting talent form fixes */
.role-checklist.aligned-checklist {
  gap: 6px;
}

.role-checklist.aligned-checklist label {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  align-items: center;
  justify-content: start;
  gap: 10px;
  width: 100%;
  text-align: left;
}

.role-checklist.aligned-checklist input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  justify-self: center;
}

.games-checklist-loading {
  color: var(--muted);
  font-size: 0.9rem;
}

.current-photo-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: -4px 0 10px;
  color: var(--muted);
  font-size: 0.85rem;
}

.current-photo-wrap img {
  width: 54px;
  height: 54px;
  object-fit: cover;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(7, 17, 31, 0.9);
}

.talent-photo-box img {
  object-fit: cover;
}

.talent-games-line {
  display: block;
  margin-top: 5px;
}

.talent-game-match {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 2px 6px;
  border-radius: 999px;
  border: 1px solid rgba(34, 197, 94, 0.55);
  background: rgba(34, 197, 94, 0.14);
  color: #86efac;
  font-size: 0.65rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Bracket page tabbed hub: bracket / OBS overlays / viewer links */
.bracket-hub-card {
  overflow: hidden;
}

.bracket-hub-header {
  margin-bottom: 12px;
}

.bracket-hub-tabs {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px;
  margin: 0 0 16px;
  border: 1px solid rgba(75, 95, 130, 0.55);
  border-radius: 16px;
  background: rgba(2, 8, 23, 0.45);
}

.hub-tab-btn {
  border: 1px solid rgba(74, 222, 255, 0.22);
  border-radius: 12px;
  padding: 10px 14px;
  background: rgba(11, 30, 52, 0.86);
  color: var(--text);
  font-weight: 900;
  cursor: pointer;
}

.hub-tab-btn:hover,
.hub-tab-btn.active {
  border-color: rgba(74, 222, 255, 0.75);
  background: linear-gradient(135deg, rgba(12, 74, 110, 0.95), rgba(14, 116, 144, 0.72));
  color: #ffffff;
  box-shadow: 0 0 18px rgba(34, 211, 238, 0.15);
}

.bracket-hub-panel {
  display: none;
}

.bracket-hub-panel.active {
  display: block;
}

.compact-section-header {
  margin-bottom: 12px;
}

.bracket-hub-panel .overlay-links-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
}

.viewer-link-card {
  box-shadow: inset 3px 0 0 rgba(0, 200, 255, 0.72);
}

@media (max-width: 900px) {
  .bracket-hub-tabs {
    display: grid;
    grid-template-columns: 1fr;
  }

  .bracket-hub-panel .overlay-links-grid {
    grid-template-columns: 1fr;
  }
}


/* Bracket hub: separate overlay style tab + cleaner links/style cards */
.hub-links-section {
  margin-bottom: 18px;
  padding: 14px;
  border: 1px solid rgba(75, 95, 130, 0.45);
  border-radius: 18px;
  background: rgba(2, 8, 23, 0.34);
}

.hub-links-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 12px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(75, 95, 130, .38);
}

.hub-links-section-head h3 {
  margin: 0;
  color: var(--accent);
  font-size: 1rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.hub-links-section-head p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: .82rem;
}

.hub-links-section-head.viewer-head h3 {
  color: #009dff;
}

.clean-overlay-style-controls {
  padding: 18px;
  border-radius: 20px;
  box-shadow: inset 4px 0 0 rgba(34, 211, 238, .72), 0 18px 50px rgba(0, 0, 0, .18);
}

.clean-style-head {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(75, 95, 130, .38);
}

.clean-toggle-stack .overlay-toggle {
  justify-content: flex-start;
  padding: 8px 10px;
  border: 1px solid rgba(75, 95, 130, .42);
  border-radius: 12px;
  background: rgba(15, 23, 42, .58);
}

.style-editor-layout {
  display: grid;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 14px;
}

.style-editor-card {
  padding: 14px;
  border: 1px solid rgba(74, 222, 255, .15);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(15, 23, 42, .76), rgba(2, 8, 23, .5));
}

.style-editor-card-wide {
  grid-column: 1 / -1;
}

.style-editor-title {
  margin-bottom: 12px;
  color: var(--accent-2);
  font-size: .82rem;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .14em;
}

.style-field-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 12px;
}

.style-field {
  display: flex;
  flex-direction: column;
  gap: 7px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.style-field select,
.style-field input:not([type="color"]) {
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(75, 95, 130, .75);
  border-radius: 12px;
  background: rgba(2, 8, 23, .92);
  color: var(--text);
  padding: 8px 10px;
  font-weight: 800;
}

.colour-input-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 40px;
  padding: 6px 8px;
  border: 1px solid rgba(75, 95, 130, .75);
  border-radius: 12px;
  background: rgba(2, 8, 23, .92);
}

.colour-input-wrap input[type="color"] {
  width: 44px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.colour-input-wrap b {
  color: var(--text);
  font-size: .8rem;
  text-transform: none;
  letter-spacing: 0;
}

.range-field input[type="range"] {
  padding: 0;
}

.style-field small {
  color: rgba(229, 231, 235, .66);
  text-transform: none;
  letter-spacing: 0;
  font-weight: 700;
}

#linksPanel .overlay-link-card {
  display: grid;
  grid-template-columns: minmax(220px, .85fr) minmax(320px, 1.15fr) auto;
  align-items: center;
  gap: 12px;
}

#linksPanel .overlay-link-card h3 {
  margin-bottom: 4px;
}

#linksPanel .overlay-link-card p {
  margin: 0;
}

@media (max-width: 1150px) {
  .style-editor-layout {
    grid-template-columns: 1fr;
  }

  #linksPanel .overlay-link-card {
    grid-template-columns: 1fr;
  }
}

/* Fix bracket hub link cards: vertical stack, no overlapping URL/actions */
#linksPanel .overlay-links-grid,
#linksPanel .viewer-links-grid {
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  align-items: stretch;
}

#linksPanel .overlay-link-card {
  display: flex !important;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  min-width: 0;
}

#linksPanel .overlay-link-card>div:first-child {
  min-width: 0;
}

#linksPanel .overlay-link-input {
  display: block;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#linksPanel .overlay-link-actions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
}

#linksPanel .overlay-link-actions a,
#linksPanel .overlay-link-actions button {
  width: 100%;
  justify-content: center;
  text-align: center;
}

.round-times-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.round-time-control small {
  color: #93a4bd;
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0;
  text-transform: none;
  line-height: 1.25;
}

.match-time-edit-btn {
  cursor: pointer;
  font-family: inherit;
  font-weight: 900;
}

.match-time-edit-btn.empty {
  opacity: 0.75;
  border-style: dashed;
}

.match-time-inline-editor {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin-left: 8px;
  vertical-align: middle;
}

.match-time-override-input {
  width: 92px;
  padding: 3px 6px;
  border-radius: 8px;
  border: 1px solid rgba(84, 215, 255, 0.55);
  background: rgba(4, 9, 21, 0.95);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
}

.tiny-btn {
  padding: 4px 7px;
  border-radius: 8px;
  border: 1px solid rgba(84, 215, 255, 0.35);
  background: rgba(84, 215, 255, 0.12);
  color: #dff7ff;
  font-size: 0.68rem;
  font-weight: 900;
  cursor: pointer;
}

.match-time-clear-btn {
  background: rgba(255, 255, 255, 0.05);
}


/* Round Times tab */
.round-time-builder-panel {
  border: 1px solid rgba(44, 184, 255, 0.24);
  border-radius: 14px;
  background: rgba(3, 10, 22, 0.42);
  padding: 14px;
  margin-bottom: 14px;
}

.round-time-builder-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) minmax(160px, 0.8fr) minmax(150px, 0.8fr) minmax(170px, 0.8fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 12px;
}

.round-time-builder-grid .primary-btn {
  min-height: 42px;
  white-space: nowrap;
}

#roundTimesHost .round-slot-times-panel,
#roundTimesHost .match-slot-times-panel {
  margin: 0;
}

@media (max-width: 900px) {
  .round-time-builder-grid {
    grid-template-columns: 1fr;
  }
}

/* Hub cleanup: sidebar removed, seeding/applications moved into first tab */
.bracket-layout {
  display: block;
  padding: 24px;
}

.bracket-hub-card {
  width: 100%;
  max-width: none;
}

.seeding-head-row {
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.seeding-head-row .primary-btn {
  white-space: nowrap;
}

.seeding-teams-section {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--border);
}

.seeding-teams-grid {
  grid-template-columns: 1fr;
}

#seedingPanel .applications-panel {
  margin-top: 14px;
  padding-top: 0;
  border-top: 0;
}

@media (max-width: 780px) {
  .seeding-head-row {
    align-items: stretch;
    flex-direction: column;
  }

  .seeding-teams-grid {
    grid-template-columns: 1fr;
  }
}

/* Seeding / applications cleanup + Teams DB picker */
.application-settings-grid {
  display: grid;
  grid-template-columns: minmax(360px, 1fr) minmax(260px, 360px);
  gap: 14px;
  align-items: end;
}

.application-link-field,
.application-close-field {
  display: grid;
  gap: 7px;
}

.application-link-field .copy-row {
  gap: 10px;
}

.application-link-field input,
.application-close-field input {
  min-height: 44px;
}

.application-close-field input {
  max-width: 360px;
}

.seeding-team-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

.seeding-team-actions .roster-manage-link {
  padding: 10px 14px;
  width: auto;
}

.seeding-empty-state {
  grid-column: 1 / -1;
}

.bracket-team-card {
  position: relative;
}

.remove-seeded-team-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 7px 9px;
  font-size: 11px;
}

.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 14px;
  margin-bottom: 14px;
}

.modal-header h2 {
  margin: 0 0 5px;
}

.team-db-modal-card {
  width: min(780px, 94vw);
  max-height: 86vh;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  overflow: hidden;
}

.team-db-search {
  margin-bottom: 14px;
}


.team-db-modal-toolbar {
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr);
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}

.team-db-scope-toggle,
.team-db-az-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.team-db-scope-toggle button,
.team-db-az-filter button {
  border: 1px solid var(--border);
  background: rgba(8, 19, 34, 0.78);
  color: var(--text);
  border-radius: 10px;
  padding: 8px 12px;
  font-weight: 800;
  cursor: pointer;
}

.team-db-scope-toggle button.active,
.team-db-az-filter button.active {
  border-color: var(--accent);
  background: rgba(0, 190, 255, 0.18);
  color: #ffffff;
  box-shadow: 0 0 16px rgba(0, 190, 255, 0.18);
}

.team-db-az-filter {
  margin-bottom: 12px;
}

.team-db-az-filter button {
  width: 34px;
  height: 32px;
  padding: 0;
  display: inline-grid;
  place-items: center;
  font-size: 12px;
}

.team-db-az-filter button:first-child {
  width: 48px;
}

.team-db-modal-toolbar .team-db-search {
  margin-bottom: 0;
}

@media (max-width: 760px) {
  .team-db-modal-toolbar {
    grid-template-columns: 1fr;
  }
}

.team-db-modal-list {
  display: grid;
  gap: 10px;
  overflow-y: auto;
  padding-right: 4px;
}

.team-db-row {
  display: grid;
  grid-template-columns: 54px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(21, 31, 50, 0.72);
}

.team-db-row.is-added {
  opacity: 0.72;
}

.team-db-logo {
  width: 46px;
  height: 46px;
}

.team-db-info {
  display: grid;
  gap: 3px;
}

.team-db-info small {
  color: var(--muted);
}

@media (max-width: 850px) {
  .application-settings-grid {
    grid-template-columns: 1fr;
  }

  .application-close-field input {
    max-width: none;
  }

  .seeding-team-actions {
    justify-content: stretch;
  }

  .seeding-team-actions>* {
    flex: 1;
  }
}

@media (max-width: 560px) {
  .team-db-row {
    grid-template-columns: 44px 1fr;
  }

  .team-db-row button {
    grid-column: 1 / -1;
  }
}


.dashboard-page {
  padding: 24px;
}

.dashboard-page .dashboard-grid {
  padding: 0;
}

.dashboard-portal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 20px;
}

.dashboard-portal-grid .dashboard-management-card {
  margin-bottom: 0;
  min-height: 210px;
  align-items: stretch;
  flex-direction: column;
  justify-content: space-between;
}

.dashboard-portal-grid .dashboard-management-card>div:first-child {
  min-width: 0;
}

.dashboard-portal-grid .card-eyebrow {
  letter-spacing: 3px;
}

.dashboard-portal-grid .dashboard-management-card h2 {
  font-size: 1.35rem;
}

.dashboard-portal-grid .dashboard-management-card p {
  line-height: 1.45;
}

.dashboard-portal-grid .management-actions {
  width: 100%;
  min-width: 0;
  grid-template-columns: 1fr;
  align-items: stretch;
}

.dashboard-portal-grid .management-actions select,
.dashboard-portal-grid .management-actions button,
.dashboard-portal-grid .management-actions a,
.dashboard-portal-grid .open-pill {
  width: 100%;
}

.dashboard-portal-grid .open-pill {
  border-radius: 14px;
}


.dashboard-management-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 20px;
  padding: 24px;
  min-height: 130px;
  background: rgba(16, 24, 39, 0.92);
  border: 1px solid var(--border);
  border-radius: 18px;
  color: var(--text);
  text-decoration: none;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
}

.dashboard-management-link {
  transition: .2s ease;
}

.dashboard-management-link:hover {
  transform: translateY(-3px);
  border-color: var(--accent-2);
}

.card-eyebrow {
  margin: 0 0 8px;
  color: var(--accent-2);
  text-transform: uppercase;
  letter-spacing: 4px;
  font-size: 12px;
  font-weight: 900;
}

.dashboard-management-card h2 {
  margin: 0 0 8px;
}

.dashboard-management-card p {
  color: var(--muted);
  margin-bottom: 0;
}

.management-actions {
  min-width: min(520px, 100%);
  display: grid;
  grid-template-columns: 1fr auto auto;
  gap: 10px;
  align-items: center;
}

.link-btn {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.open-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  border: 1px solid rgba(56, 189, 248, .3);
  background: rgba(56, 189, 248, .16);
  color: var(--accent-2);
  padding: 10px 14px;
  border-radius: 999px;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .dashboard-portal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .dashboard-management-card {
    align-items: stretch;
    flex-direction: column;
  }

  .dashboard-portal-grid {
    grid-template-columns: 1fr;
  }

  .management-actions {
    grid-template-columns: 1fr;
  }
}

/* Admin header/user layout cleanup */
.admin-topbar,
.topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.topbar-left,
.topbar>div:first-child {
  min-width: 0;
}

.topbar-title h1,
.topbar h1 {
  letter-spacing: -0.02em;
}

.topbar-actions {
  margin-top: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.topbar-user {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  max-width: 620px;
}

.brk-topbar .brk-search,
.topbar .brk-search,
.admin-topbar .brk-search,
.brk-search {
  display: none !important;
}

.brk-topbar .brk-top-actions {
  margin-left: auto;
  justify-content: flex-end;
}

.brk-topbar .brk-top-actions > .brk-primary-btn,
.brk-topbar .brk-top-actions > a[href="/leagues"],
.brk-topbar .brk-top-actions > a[href="/leagues#create"] {
  display: none !important;
}

.section-tabs {
  display: flex;
  gap: 10px;
  padding: 18px 24px 0;
  flex-wrap: wrap;
}

.section-tabs .primary-btn,
.section-tabs .secondary-btn {
  min-width: 140px;
}

.league-page .league-layout {
  grid-template-columns: 1fr;
}

.league-page .form-card {
  max-width: 900px;
}

.league-page .league-section.hidden {
  display: none !important;
}

.league-page .league-section:not(.hidden) {
  display: block;
}

.league-mode-tabs .active-tab {
  box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.25), 0 0 24px rgba(56, 189, 248, 0.12);
}

@media (max-width: 900px) {

  .admin-topbar,
  .topbar {
    flex-direction: column;
    align-items: stretch;
  }

  .topbar-user {
    max-width: none;
    justify-content: stretch;
  }
}

/* --- Admin navigation + league view polish update --- */
.admin-topbar {
  padding: 26px 32px;
  align-items: flex-start;
  background: rgba(7, 12, 23, 0.94);
  border-bottom: 1px solid rgba(88, 116, 160, 0.45);
}

.admin-main-nav {
  gap: 10px;
}

.admin-nav-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  text-decoration: none;
  white-space: nowrap;
}

.admin-nav-link.current-page,
.admin-nav-link[aria-current="page"] {
  background: linear-gradient(135deg, rgba(0, 200, 255, 0.95), rgba(34, 197, 94, 0.75));
  color: #ffffff;
  border-color: rgba(0, 200, 255, 0.65);
  box-shadow: 0 0 0 1px rgba(0, 200, 255, 0.18), 0 12px 28px rgba(34, 197, 94, 0.16);
}

.league-page .section-tabs {
  padding: 18px 24px 0;
}

.league-page .league-layout {
  width: 100%;
  max-width: none;
  padding: 24px;
}

.league-page #viewLeaguesSection {
  width: 100%;
  max-width: none;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.league-page #viewLeaguesSection>.card-header {
  margin-bottom: 16px;
  padding: 0 2px;
}

.league-page #viewLeaguesSection>.card-header h2 {
  font-size: 26px;
  letter-spacing: -0.02em;
}

.league-page #leaguesList.teams-list,
.league-page .league-list-section .teams-list {
  display: grid;
  gap: 14px;
}

.league-page .league-list-section {
  margin-top: 0;
}

.league-page .league-list-heading {
  display: inline-flex;
  width: fit-content;
  margin: 0 0 12px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent-2);
}

.league-page .league-card {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 18px 20px;
  background:
    linear-gradient(135deg, rgba(16, 24, 39, 0.96), rgba(7, 17, 31, 0.9)),
    radial-gradient(circle at top left, rgba(56, 189, 248, 0.12), transparent 36%);
  border: 1px solid rgba(87, 115, 160, 0.72);
  border-radius: 18px;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.24);
}

.league-page .league-card-main {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.league-page .league-card-logo {
  width: 66px;
  height: 66px;
  border-radius: 16px;
}

.league-page .league-card-title-row h3 {
  font-size: 20px;
}

.league-page .league-card p {
  margin-bottom: 6px;
}

.league-page .league-card .team-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 8px;
  min-width: 370px;
}

.league-page .league-card .team-actions .secondary-btn,
.league-page .league-card .team-actions .danger-btn {
  padding: 10px 13px;
}

.league-page .league-progress-wrap {
  max-width: 560px;
}

@media (max-width: 1100px) {
  .league-page .league-card {
    grid-template-columns: 1fr;
    align-items: stretch;
  }

  .league-page .league-card .team-actions {
    justify-content: flex-start;
    min-width: 0;
  }
}

@media (max-width: 720px) {
  .admin-topbar {
    padding: 20px;
  }

  .admin-main-nav,
  .topbar-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .league-page .league-layout {
    padding: 16px;
  }

  .league-page .league-card-main {
    grid-template-columns: 1fr;
  }
}

/* Game day scheduler round picker */
.fixture-round-picker-block {
  margin-top: 14px;
}

.fixture-round-picker-title {
  display: block;
  color: #54d7ff;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 8px;
}

.fixture-round-checks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.fixture-round-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 11px;
  border: 1px solid rgba(84, 215, 255, 0.25);
  border-radius: 12px;
  background: rgba(8, 32, 55, 0.72);
  color: #dff7ff;
  cursor: pointer;
  user-select: none;
}

.fixture-round-check.selected {
  border-color: rgba(37, 211, 102, 0.75);
  background: rgba(37, 211, 102, 0.20);
}

.fixture-round-check input {
  accent-color: #25d366;
}

.fixture-round-check span {
  font-weight: 900;
}

.fixture-round-check small {
  color: #b8c7d9;
  font-size: 0.72rem;
  font-weight: 800;
}

.fixture-round-check-empty {
  display: inline-flex;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(37, 211, 102, 0.45);
  background: rgba(37, 211, 102, 0.12);
  color: #dfffe9;
  font-weight: 900;
}

/* Auto game day fixture scheduler */
.fixture-summary-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 12px 0 14px;
}

.fixture-summary-strip span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border: 1px solid rgba(84, 215, 255, 0.22);
  border-radius: 999px;
  background: rgba(6, 24, 42, 0.75);
  color: #cfeeff;
  font-weight: 800;
}

.fixture-summary-strip strong {
  color: #50f39a;
}

.game-day-setup-grid {
  grid-template-columns: minmax(160px, 1fr) minmax(150px, 1fr) minmax(180px, 1fr) minmax(150px, 1fr) minmax(170px, auto);
}

.game-day-preview-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.game-day-preview-pill {
  display: grid;
  grid-template-columns: 130px 1fr;
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid rgba(84, 215, 255, 0.20);
  border-radius: 12px;
  background: rgba(5, 18, 33, 0.72);
}

.game-day-preview-pill strong {
  color: #50f39a;
}

.game-day-preview-pill span {
  color: #dff7ff;
  font-weight: 800;
}

.generated-game-days-wrap {
  display: grid;
  gap: 18px;
  width: 100%;
}

.generated-game-day-card {
  border: 1px solid rgba(84, 215, 255, 0.26);
  border-radius: 16px;
  background: rgba(5, 18, 33, 0.72);
  overflow: hidden;
}

.generated-game-day-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  padding: 13px 15px;
  border-bottom: 1px solid rgba(84, 215, 255, 0.18);
  background: rgba(8, 32, 55, 0.78);
}

.generated-game-day-head h3 {
  margin: 0;
  color: #50f39a;
}

.generated-game-day-head span {
  color: #bfeeff;
  font-weight: 900;
}

.generated-game-day-grid {
  display: grid;
  grid-template-columns: 92px repeat(var(--stream-count, 2), minmax(210px, 1fr));
  gap: 1px;
  background: rgba(84, 215, 255, 0.12);
}

.fixture-grid-header,
.fixture-grid-time,
.fixture-grid-cell {
  background: rgba(7, 15, 28, 0.96);
  padding: 11px 12px;
}

.fixture-grid-header {
  color: #54d7ff;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.fixture-grid-time {
  color: #ffffff;
  font-weight: 950;
}

.fixture-grid-cell {
  min-height: 70px;
  display: grid;
  gap: 4px;
  align-content: center;
}

.fixture-grid-cell strong {
  color: #50f39a;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.fixture-grid-cell span {
  color: #f1f7ff;
  font-weight: 900;
}

.fixture-grid-cell small {
  color: #91a7bd;
  font-weight: 800;
}

.fixture-grid-cell.empty {
  color: #60758c;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .game-day-setup-grid {
    grid-template-columns: 1fr 1fr;
  }

  .generated-game-day-grid {
    overflow-x: auto;
    grid-template-columns: 90px repeat(var(--stream-count, 2), minmax(220px, 1fr));
  }
}

@media (max-width: 720px) {

  .game-day-setup-grid,
  .game-day-preview-pill {
    grid-template-columns: 1fr;
  }
}

.game-day-stream-crew-grid {
  display: grid;
  grid-template-columns: repeat(var(--stream-count, 2), minmax(220px, 1fr));
  gap: 10px;
  padding: 12px;
  border-bottom: 1px solid rgba(84, 215, 255, 0.16);
  background: rgba(3, 10, 19, 0.74);
}

.game-day-stream-crew-card {
  border: 1px solid rgba(84, 215, 255, 0.22);
  border-radius: 14px;
  background: rgba(7, 15, 28, 0.84);
  padding: 10px;
}

.game-day-stream-crew-card>strong {
  display: block;
  color: #54d7ff;
  margin-bottom: 8px;
}

.game-day-stream-crew {
  display: grid;
  gap: 8px;
}

.game-day-stream-crew label {
  display: grid;
  gap: 4px;
  color: #dff7ff;
  font-weight: 850;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.game-day-stream-crew select,
.game-day-match-stream-select {
  width: 100%;
  border: 1px solid rgba(125, 166, 255, 0.45);
  border-radius: 9px;
  background: #0b1424;
  color: #fff;
  padding: 7px 9px;
  font-weight: 800;
}

.game-day-match-cell {
  align-content: stretch;
  gap: 7px;
}

.game-day-match-topline,
.game-day-match-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.game-day-match-topline strong {
  white-space: nowrap;
}

.game-day-match-stream-select {
  max-width: 125px;
  padding: 5px 7px;
  font-size: 0.78rem;
}

.game-day-result-team {
  width: 100%;
  border: 1px solid rgba(84, 215, 255, 0.12);
  border-radius: 10px;
  background: rgba(2, 7, 14, 0.72);
  color: #f1f7ff;
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  cursor: pointer;
  font-weight: 900;
}

.game-day-result-team:hover,
.game-day-result-team.winner {
  border-color: rgba(80, 243, 154, 0.74);
  box-shadow: 0 0 0 1px rgba(80, 243, 154, 0.20) inset;
}

.game-day-result-team b {
  color: #50f39a;
}

.game-day-match-actions .ghost-btn {
  padding: 5px 8px;
  font-size: 0.72rem;
}

@media (max-width: 1100px) {
  .game-day-stream-crew-grid {
    overflow-x: auto;
    grid-template-columns: repeat(var(--stream-count, 2), minmax(240px, 1fr));
  }
}


/* Game day scheduler cleanup */
.fixture-header-row {
  display: none;
}

.league-fixture-scheduler-panel.game-day-setup-details {
  margin: 10px 0 18px;
  padding: 0;
  overflow: hidden;
}

.game-day-setup-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  cursor: pointer;
  padding: 14px 16px;
  list-style: none;
  color: #e8f7ff;
}

.game-day-setup-summary::-webkit-details-marker {
  display: none;
}

.game-day-setup-summary span {
  display: grid;
  gap: 2px;
}

.game-day-setup-summary strong {
  text-transform: uppercase;
  letter-spacing: .04em;
}

.game-day-setup-summary small {
  color: #91a7bd;
  font-weight: 750;
}

.game-day-setup-summary b {
  color: #50f39a;
  border: 1px solid rgba(80, 243, 154, .28);
  border-radius: 999px;
  padding: 5px 10px;
  background: rgba(80, 243, 154, .08);
}

.compact-head {
  padding: 0 16px 10px;
}

.generated-game-days-wrap {
  gap: 12px;
  padding: 0 6px 16px;
}

.generated-game-day-card {
  border-radius: 13px;
}

.generated-game-day-head {
  cursor: pointer;
  padding: 10px 13px;
}

.generated-game-day-head::-webkit-details-marker {
  display: none;
}

.game-day-title-wrap,
.game-day-head-right {
  display: flex;
  align-items: center;
  gap: 9px;
  min-width: 0;
}

.game-day-title-wrap h3 {
  margin: 0;
}

.collapse-icon {
  display: inline-grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border: 1px solid rgba(84, 215, 255, .35);
  border-radius: 7px;
  color: #54d7ff;
  font-size: .9rem;
}

.generated-game-day-card[open] .collapse-icon {
  transform: rotate(45deg);
}

.game-day-head-right b {
  color: #bfeeff;
  font-weight: 950;
  white-space: nowrap;
}

.game-day-complete-pill {
  color: #07111d;
  background: #50f39a;
  border-radius: 999px;
  padding: 3px 9px;
  font-style: normal;
  font-weight: 950;
  font-size: calc(.72rem * var(--preview-font-scale));
  text-transform: uppercase;
}

.check-game-day-conflicts-btn {
  padding: 5px 9px;
  font-size: .74rem;
}

.game-day-conflict-msg {
  min-width: 145px;
  font-weight: 900;
  color: #91a7bd;
}

.game-day-conflict-msg.good {
  color: #50f39a;
}

.game-day-conflict-msg.bad {
  color: #ff6b6b;
}

.generated-game-day-body {
  display: grid;
  gap: 0;
}

.game-day-stream-crew-grid {
  padding: 8px;
  gap: 8px;
}

.game-day-stream-crew-card {
  padding: 0;
  overflow: hidden;
}

.game-day-stream-crew-card summary {
  cursor: pointer;
  padding: 8px 10px;
  color: #54d7ff;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .04em;
  list-style: none;
}

.game-day-stream-crew-card summary::-webkit-details-marker {
  display: none;
}

.game-day-stream-crew-card .game-day-stream-crew {
  padding: 0 10px 10px;
}

.generated-game-day-grid {
  grid-template-columns: 78px repeat(var(--stream-count, 2), minmax(260px, 1fr));
}

.fixture-grid-header,
.fixture-grid-time,
.fixture-grid-cell {
  padding: 8px 9px;
}

.fixture-grid-time {
  font-size: .95rem;
}

.fixture-grid-cell {
  min-height: 56px;
}

.game-day-match-cell {
  gap: 5px;
}

.game-day-match-topline strong {
  font-size: calc(.72rem * var(--preview-font-scale));
}

.game-day-result-team {
  padding: 7px 8px;
  border-radius: 8px;
}

.game-day-move-actions {
  display: inline-flex;
  gap: 5px;
  align-items: center;
}

.game-day-move-actions .tiny-btn {
  width: 28px;
  min-height: 24px;
  padding: 2px 6px;
  border-radius: 8px;
  font-weight: 950;
}

.game-day-match-actions {
  margin-top: 0;
}

.game-day-finals-gate {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(84, 215, 255, 0.24);
  border-radius: 13px;
  background: rgba(5, 18, 33, .72);
}

.game-day-finals-gate span {
  color: #bfeeff;
  font-weight: 850;
}

.game-day-finals-gate .primary-btn:disabled {
  opacity: .45;
  cursor: not-allowed;
}

@media (max-width: 900px) {

  .generated-game-day-head,
  .game-day-head-right {
    align-items: flex-start;
    flex-direction: column;
  }

  .generated-game-day-grid {
    grid-template-columns: 70px repeat(var(--stream-count, 2), minmax(240px, 1fr));
  }
}

.game-day-move-actions .tiny-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}


/* Game day professional density pass */
.generated-game-days-wrap {
  padding-left: 0;
  padding-right: 0;
  gap: 10px;
}

.generated-game-day-card {
  margin-left: 0;
  margin-right: 0;
  border-color: rgba(84, 215, 255, 0.28);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
}

.generated-game-day-body {
  gap: 8px;
}

.game-day-stream-crew-grid {
  padding: 6px 8px 3px;
  gap: 6px;
}

.game-day-stream-crew-card {
  background: rgba(4, 17, 31, 0.76);
  border-color: rgba(84, 215, 255, 0.18);
}

.game-day-stream-crew-card summary {
  padding: 7px 9px;
  font-size: 0.78rem;
}

.generated-game-day-grid {
  border-top: 1px solid rgba(84, 215, 255, 0.17);
  grid-template-columns: 68px repeat(var(--stream-count, 2), minmax(250px, 1fr));
}

.fixture-grid-header {
  padding: 7px 9px;
  background: rgba(3, 18, 32, 0.92);
  border-bottom: 1px solid rgba(84, 215, 255, 0.16);
  font-size: 0.76rem;
}

.fixture-grid-time {
  padding: 9px 7px;
  font-size: 0.9rem;
  background: rgba(2, 10, 19, 0.82);
  border-right: 1px solid rgba(84, 215, 255, 0.16);
}

.fixture-grid-cell {
  padding: 7px 8px;
  min-height: 0;
  background: rgba(3, 12, 22, 0.66);
  border-color: rgba(84, 215, 255, 0.10);
}

.fixture-grid-time.fixture-row-alt,
.fixture-grid-cell.fixture-row-alt {
  background: rgba(8, 27, 45, 0.86);
}

.fixture-grid-cell.game-day-match-cell {
  position: relative;
  gap: 4px;
  box-shadow: inset 3px 0 0 rgba(84, 215, 255, 0.22);
}

.fixture-grid-cell.game-day-match-cell.fixture-row-alt {
  box-shadow: inset 3px 0 0 rgba(80, 243, 154, 0.20);
}

.game-day-match-topline {
  min-height: 22px;
  margin-bottom: 1px;
}

.game-day-match-topline strong {
  font-size: 0.68rem;
  letter-spacing: 0.055em;
}

.game-day-move-actions {
  gap: 4px;
}

.game-day-move-actions .tiny-btn {
  width: 24px;
  min-height: 21px;
  padding: 1px 4px;
  border-radius: 7px;
  line-height: 1;
}

.game-day-result-team {
  min-height: 29px;
  padding: 5px 8px;
  border-radius: 7px;
  background: rgba(0, 6, 12, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.025);
}

.game-day-result-team+.game-day-result-team {
  margin-top: 2px;
}

.game-day-result-team span {
  font-size: 0.83rem;
}

.game-day-result-team b {
  font-size: 0.86rem;
}

.game-day-match-actions {
  margin-top: 3px;
  min-height: 24px;
}

.game-day-match-actions small {
  color: #a9c5dc;
  font-size: 0.75rem;
}

.game-day-match-actions .ghost-btn {
  padding: 4px 8px;
  font-size: 0.70rem;
  border-radius: 9px;
}

.fixture-grid-cell.empty {
  display: flex;
  align-items: center;
  color: rgba(191, 238, 255, 0.42);
  font-size: 0.82rem;
}

@media (min-width: 1100px) {
  .generated-game-days-wrap {
    width: calc(100% - 12px);
  }
}

.game-day-stream-count-control {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #8fb3c9;
  font-size: calc(.72rem * var(--preview-font-scale));
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.game-day-stream-count-control select {
  width: 58px;
  min-height: 28px;
  padding: 3px 8px;
  border-radius: 9px;
  border: 1px solid rgba(84, 215, 255, .34);
  background: rgba(5, 13, 24, .94);
  color: #e8f7ff;
  font-weight: 950;
}


.update-game-day-card-btn {
  white-space: nowrap;
  padding: 0.42rem 0.75rem;
}

.update-game-day-card-btn.needs-update {
  border-color: rgba(0, 200, 255, 0.8);
  color: #5ee7ff;
  box-shadow: 0 0 0 1px rgba(0, 200, 255, 0.18);
}

.details-edit-disabled {
  display: none !important;
}

.application-public-field,
.application-summary-field {
  display: grid;
  gap: 7px;
}

.application-public-field .checkbox-line {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  font-size: 13px;
}

.application-public-field input[type="checkbox"] {
  width: 18px;
  height: 18px;
  accent-color: var(--accent-2);
}

.application-summary-field {
  grid-column: 1 / -1;
}

.application-summary-field textarea {
  width: 100%;
  min-height: 64px;
  resize: vertical;
}

.application-save-status {
  color: #8ee6ff;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  margin-left: 0.35rem;
}

/* Tournament Info tab */
.tournament-info-form {
  display: grid;
  gap: 18px;
}

.info-form-section {
  border: 1px solid rgba(64, 180, 255, 0.18);
  background: rgba(6, 18, 34, 0.58);
  border-radius: 16px;
  padding: 18px;
}

.info-form-section h3 {
  margin: 0 0 14px;
  color: #f7fbff;
  font-size: 1.15rem;
}

.info-form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}

.info-form-grid.compact {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.info-form-section label {
  display: grid;
  gap: 7px;
  color: #bcd4ef;
  font-size: 0.9rem;
}

.info-form-section input,
.info-form-section textarea,
.info-form-section select {
  width: 100%;
  border: 1px solid rgba(92, 177, 255, 0.22);
  background: rgba(14, 28, 48, 0.92);
  color: #f8fbff;
  border-radius: 10px;
  padding: 11px 12px;
  outline: none;
}

.info-form-section textarea {
  resize: vertical;
  min-height: 76px;
}

.info-checkbox-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 10px;
}

.info-checkbox-grid label {
  display: flex;
  align-items: center;
  gap: 10px;
  background: rgba(12, 27, 48, 0.72);
  border: 1px solid rgba(92, 177, 255, 0.16);
  border-radius: 12px;
  padding: 12px;
}

.public-team-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.public-team-pill {
  border: 1px solid rgba(0, 200, 255, 0.35);
  background: rgba(0, 200, 255, 0.12);
  color: #eafff3;
  border-radius: 999px;
  padding: 8px 12px;
  font-weight: 800;
}

.info-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
}

.info-card-soft {
  border: 1px solid rgba(64, 180, 255, 0.18);
  background: rgba(6, 18, 34, 0.58);
  border-radius: 16px;
  padding: 18px;
}

.info-card-soft h3 {
  margin: 0 0 8px;
}

.info-card-soft p {
  margin: 0;
  color: #bcd4ef;
}



.fixture-timezone-note {
  display: block;
  margin-top: 4px;
  color: #9fdcff;
  font-size: 0.8rem;
  font-weight: 700;
}

.game-day-title-wrap {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.game-day-date-pill,
.game-day-timezone-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 5px 10px;
  border-radius: 999px;
  border: 1px solid rgba(84, 215, 255, 0.28);
  background: rgba(84, 215, 255, 0.10);
  color: #d9f6ff;
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 900;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.game-day-timezone-pill {
  border-color: rgba(0, 200, 255, 0.28);
  background: rgba(0, 200, 255, 0.10);
  color: #e5f8ff;
}

.game-day-date-control {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-left: 0;
  padding: 5px 8px;
  border: 1px solid rgba(84, 215, 255, 0.32);
  border-radius: 12px;
  background: rgba(6, 18, 36, 0.82);
  color: #bfe8ff;
  font-size: 0.78rem;
}

.game-day-date-control span {
  color: #54d7ff;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.game-day-date-control input {
  width: 148px;
  color: #fff;
  background: rgba(5, 16, 32, 0.96);
  border: 1px solid rgba(84, 215, 255, 0.32);
  border-radius: 9px;
  padding: 5px 8px;
}

.game-day-stream-count-select {
  min-width: 56px;
}


/* Teams / Applications management layout */
.teams-applications-shell {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.section-side-nav {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(75, 95, 130, 0.55);
  border-radius: 18px;
  background: rgba(2, 8, 23, 0.5);
}

.section-side-link {
  display: block;
  padding: 11px 12px;
  border: 1px solid rgba(74, 222, 255, 0.14);
  border-radius: 13px;
  background: rgba(11, 30, 52, 0.58);
  color: var(--text);
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.section-side-link:hover,
.section-side-link:focus {
  border-color: rgba(74, 222, 255, 0.65);
  background: rgba(14, 116, 144, 0.35);
  color: #ffffff;
}

.section-main-stack {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.management-section {
  padding: 18px;
  border: 1px solid rgba(75, 95, 130, 0.58);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.78), rgba(8, 13, 24, 0.76));
}

.management-section h2 {
  margin: 0 0 6px;
}

.management-section p {
  margin: 0;
  color: var(--muted);
}

#seedingPanel .applications-panel {
  margin-top: 0;
  display: grid;
  gap: 16px;
}

#seedingPanel .applications-head {
  align-items: flex-start;
  gap: 14px;
}

.application-settings-grid.compact {
  grid-template-columns: minmax(280px, 0.85fr) minmax(220px, 320px);
  max-width: 980px;
  margin-top: 16px;
}

.application-details-card .application-actions {
  margin-top: 14px;
}

.application-approvals-card .applications-counts {
  justify-content: flex-end;
}

.application-approvals-card .applications-list {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  max-height: none;
  overflow: visible;
  padding-right: 0;
}

.seeding-teams-section.management-section {
  margin-top: 0;
  padding-top: 18px;
  border-top: 1px solid rgba(75, 95, 130, 0.58);
}

.schedule-generation-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.schedule-generation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

@media (max-width: 980px) {
  .teams-applications-shell {
    grid-template-columns: 1fr;
  }

  .section-side-nav {
    position: static;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  }

  .application-settings-grid.compact {
    grid-template-columns: 1fr;
  }

  .schedule-generation-card {
    align-items: stretch;
    flex-direction: column;
  }

  .schedule-generation-actions {
    justify-content: flex-start;
  }
}


/* Dashboard-style admin shell refresh */
.bracket-layout {
  padding: 20px;
}

.bracket-hub-card {
  display: grid;
  grid-template-columns: 248px minmax(0, 1fr);
  gap: 18px;
  padding: 0;
  overflow: hidden;
  min-height: calc(100vh - 178px);
  background:
    linear-gradient(135deg, rgba(27, 36, 86, 0.92), rgba(8, 12, 35, 0.96) 44%, rgba(4, 13, 25, 0.98)),
    rgba(16, 24, 39, 0.94);
  border-color: rgba(91, 124, 205, 0.32);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.38);
}

.bracket-hub-header {
  grid-column: 1 / -1;
  margin: 0;
  padding: 22px 26px 18px;
  border-bottom: 1px solid rgba(114, 143, 214, 0.22);
  background: linear-gradient(90deg, rgba(31, 43, 100, 0.78), rgba(10, 17, 45, 0.68));
}

.bracket-hub-header h2 {
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}

.bracket-hub-header .message {
  margin: 0;
  min-height: 0;
  color: #5ee7ff;
}

.bracket-hub-tabs {
  grid-column: 1;
  grid-row: 2;
  display: grid;
  align-content: start;
  gap: 8px;
  margin: 0;
  padding: 18px 14px 22px;
  border: 0;
  border-right: 1px solid rgba(114, 143, 214, 0.2);
  border-radius: 0;
  background: linear-gradient(180deg, rgba(35, 47, 111, 0.62), rgba(18, 26, 69, 0.72));
}

.hub-sidebar-brand {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 10px;
  align-items: center;
  padding: 8px 8px 16px;
  margin-bottom: 6px;
  border-bottom: 1px solid rgba(152, 172, 231, 0.18);
}

.hub-sidebar-logo {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, #19d3ff, #7c5cff);
  color: #fff;
  font-weight: 950;
  box-shadow: 0 0 24px rgba(60, 211, 255, 0.28);
}

.hub-sidebar-brand strong,
.hub-sidebar-brand small {
  display: block;
}

.hub-sidebar-brand small {
  margin-top: 2px;
  color: #aeb9e5;
  font-size: 11px;
}

.hub-tab-btn {
  position: relative;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  padding: 12px 13px;
  border: 1px solid transparent;
  border-radius: 13px;
  background: transparent;
  color: #c9d7ff;
  text-align: left;
  box-shadow: none;
}

.hub-tab-btn:hover,
.hub-tab-btn.active {
  border-color: rgba(133, 161, 255, 0.34);
  background: linear-gradient(90deg, rgba(100, 126, 255, 0.34), rgba(37, 52, 121, 0.2));
  color: #ffffff;
  box-shadow: inset 3px 0 0 rgba(0, 200, 255, 0.85), 0 12px 30px rgba(4, 10, 28, 0.22);
}

.bracket-hub-panel {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  padding: 20px 22px 24px;
  background:
    radial-gradient(circle at 65% 0%, rgba(48, 72, 165, 0.18), transparent 32%),
    rgba(6, 11, 28, 0.36);
}

.bracket-hub-panel.active {
  display: block;
}

.compact-section-header,
.applications-head {
  align-items: flex-start;
}

.compact-section-header h2,
.applications-head h2,
.management-section h2 {
  letter-spacing: -0.02em;
}

.teams-applications-shell {
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 16px;
}

.section-side-nav {
  top: 14px;
  padding: 12px;
  border-color: rgba(124, 151, 230, 0.26);
  background: rgba(11, 18, 48, 0.74);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.section-side-link {
  border-color: transparent;
  background: rgba(255, 255, 255, 0.035);
  color: #cbd6ff;
}

.section-side-link:hover,
.section-side-link:focus {
  border-color: rgba(0, 200, 255, 0.34);
  background: rgba(70, 100, 214, 0.28);
}

.management-section {
  padding: 16px;
  border-color: rgba(124, 151, 230, 0.26);
  background:
    linear-gradient(180deg, rgba(24, 35, 82, 0.66), rgba(10, 16, 40, 0.72)),
    rgba(11, 18, 48, 0.72);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 16px 46px rgba(0, 0, 0, 0.18);
}

.application-settings-grid.compact {
  grid-template-columns: minmax(260px, 1fr) minmax(220px, 300px);
  max-width: 900px;
}

.application-details-card {
  max-width: 960px;
}

.application-approvals-card {
  max-width: 1080px;
}

.applications-list {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  max-height: none;
  overflow: visible;
}

.application-card {
  background: rgba(8, 15, 40, 0.72);
  border-color: rgba(124, 151, 230, 0.24);
}

.seeding-teams-section,
.schedule-generation-card {
  max-width: 1180px;
}

.schedule-generation-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.schedule-generation-actions {
  justify-content: flex-end;
}

.seeding-teams-grid {
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.bracket-team-card {
  background: rgba(8, 15, 40, 0.72);
  border-color: rgba(124, 151, 230, 0.24);
}

.primary-btn {
  box-shadow: 0 10px 26px rgba(0, 200, 255, 0.16);
}

.secondary-btn {
  background: rgba(31, 80, 143, 0.52);
  border-color: rgba(84, 199, 255, 0.28);
}

@media (max-width: 1060px) {
  .bracket-hub-card {
    grid-template-columns: 1fr;
  }

  .bracket-hub-tabs,
  .bracket-hub-panel {
    grid-column: 1;
    grid-row: auto;
  }

  .bracket-hub-tabs {
    display: flex;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(114, 143, 214, 0.2);
  }

  .hub-sidebar-brand {
    display: none;
  }

  .hub-tab-btn {
    min-width: max-content;
  }

  .teams-applications-shell {
    grid-template-columns: 1fr;
  }

  .section-side-nav {
    position: static;
    display: flex;
    overflow-x: auto;
  }

  .section-side-link {
    min-width: max-content;
  }
}

@media (max-width: 720px) {
  .bracket-layout {
    padding: 12px;
  }

  .bracket-hub-header,
  .bracket-hub-panel {
    padding: 16px;
  }

  .application-settings-grid.compact,
  .schedule-generation-card {
    grid-template-columns: 1fr;
  }

  .schedule-generation-actions,
  .seeding-team-actions {
    justify-content: stretch;
  }

  .schedule-generation-actions>*,
  .seeding-team-actions>* {
    flex: 1;
  }
}


/* Global blue theme pass */
.topbar,
.card,
.bracket-hub-card,
.management-section,
.info-form-section,
.info-card-soft,
.application-card,
.bracket-team-card,
.section-side-nav {
  backdrop-filter: blur(12px);
}

.primary-btn {
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: #ffffff;
  border: 1px solid rgba(0, 200, 255, 0.35);
  box-shadow: 0 12px 30px rgba(0, 157, 255, 0.18);
}

.primary-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
}

.secondary-btn {
  background: rgba(0, 112, 210, 0.24);
  color: #d9f7ff;
  border-color: rgba(0, 200, 255, 0.32);
}

.ghost-btn {
  color: #c7dcf5;
  border-color: rgba(0, 170, 255, 0.24);
  background: rgba(255, 255, 255, 0.025);
}

input,
select,
textarea {
  border-color: rgba(0, 170, 255, 0.24);
  background: rgba(4, 18, 42, 0.86);
}

input:focus,
select:focus,
textarea:focus {
  border-color: rgba(0, 200, 255, 0.72);
  box-shadow: 0 0 0 3px rgba(0, 157, 255, 0.14);
}

.bracket-hub-card {
  background:
    radial-gradient(circle at 72% 0%, rgba(0, 157, 255, 0.20), transparent 34%),
    linear-gradient(135deg, rgba(4, 18, 49, 0.96), rgba(2, 8, 28, 0.98) 48%, rgba(4, 22, 55, 0.98));
  border-color: rgba(0, 170, 255, 0.28);
}

.bracket-hub-header {
  background: linear-gradient(90deg, rgba(0, 88, 180, 0.34), rgba(3, 13, 36, 0.78));
  border-bottom-color: rgba(0, 200, 255, 0.20);
}

.bracket-hub-tabs {
  background: linear-gradient(180deg, rgba(5, 27, 67, 0.88), rgba(3, 13, 36, 0.88));
  border-right-color: rgba(0, 200, 255, 0.18);
}

.hub-sidebar-logo {
  background: linear-gradient(135deg, #009dff, #00d4ff);
  box-shadow: 0 0 26px rgba(0, 170, 255, 0.34);
}

.hub-tab-btn {
  color: #cfe8ff;
}

.hub-tab-btn:hover,
.hub-tab-btn.active {
  border-color: rgba(0, 200, 255, 0.36);
  background: linear-gradient(90deg, rgba(0, 157, 255, 0.30), rgba(0, 86, 180, 0.16));
  box-shadow: inset 3px 0 0 rgba(0, 200, 255, 0.90), 0 12px 30px rgba(0, 8, 28, 0.24);
}

.bracket-hub-panel {
  background:
    radial-gradient(circle at 70% 0%, rgba(0, 157, 255, 0.16), transparent 34%),
    rgba(3, 12, 28, 0.40);
}

.management-section,
.application-card,
.bracket-team-card {
  border-color: rgba(0, 170, 255, 0.20);
  background:
    linear-gradient(180deg, rgba(7, 28, 66, 0.72), rgba(3, 13, 36, 0.78)),
    rgba(3, 12, 28, 0.80);
}

.section-side-nav {
  border-color: rgba(0, 170, 255, 0.22);
  background: rgba(3, 13, 36, 0.78);
}

.section-side-link {
  color: #cfe8ff;
}

.section-side-link:hover,
.section-side-link:focus {
  border-color: rgba(0, 200, 255, 0.36);
  background: rgba(0, 116, 210, 0.24);
}

.message,
.bracket-hub-header .message,
.application-save-status {
  color: #5ee7ff;
}


/* League Hub blue theme hardening
   Keeps the dashboard shell aligned with the Bracketr blue theme and removes the older purple/indigo tint. */
.bracket-layout {
  background:
    radial-gradient(circle at 15% 10%, rgba(0, 157, 255, 0.14), transparent 32%),
    radial-gradient(circle at 84% 76%, rgba(0, 86, 180, 0.16), transparent 38%),
    linear-gradient(135deg, #020814 0%, #04152d 52%, #071f49 100%);
}

.bracket-hub-card {
  background:
    radial-gradient(circle at 76% 0%, rgba(0, 200, 255, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(3, 16, 42, 0.98), rgba(2, 8, 24, 0.98) 52%, rgba(4, 23, 57, 0.98)) !important;
  border-color: rgba(0, 170, 255, 0.30) !important;
  box-shadow: 0 28px 80px rgba(0, 8, 28, 0.38), inset 0 1px 0 rgba(160, 225, 255, 0.06);
}

.bracket-hub-header {
  background:
    linear-gradient(90deg, rgba(0, 104, 190, 0.34), rgba(3, 15, 40, 0.84)) !important;
  border-bottom-color: rgba(0, 200, 255, 0.22) !important;
}

.bracket-hub-tabs {
  background:
    linear-gradient(180deg, rgba(4, 29, 72, 0.94), rgba(2, 13, 36, 0.94)) !important;
  border-right-color: rgba(0, 200, 255, 0.20) !important;
  border-bottom-color: rgba(0, 200, 255, 0.18) !important;
}

.hub-sidebar-brand {
  color: #d9f7ff;
}

.hub-sidebar-logo {
  background: linear-gradient(135deg, #009dff, #00d4ff) !important;
  color: #001527;
  box-shadow: 0 0 26px rgba(0, 170, 255, 0.36) !important;
}

.hub-tab-btn,
.section-side-link {
  color: #d7efff !important;
  background: rgba(5, 28, 66, 0.52) !important;
  border-color: transparent !important;
}

.hub-tab-btn:hover,
.hub-tab-btn.active,
.section-side-link:hover,
.section-side-link:focus,
.section-side-link.active {
  color: #ffffff !important;
  border-color: rgba(0, 200, 255, 0.38) !important;
  background: linear-gradient(90deg, rgba(0, 157, 255, 0.30), rgba(0, 83, 170, 0.18)) !important;
  box-shadow: inset 3px 0 0 rgba(0, 200, 255, 0.92), 0 12px 30px rgba(0, 8, 28, 0.24) !important;
}

.bracket-hub-panel {
  background:
    radial-gradient(circle at 70% 0%, rgba(0, 157, 255, 0.14), transparent 34%),
    rgba(3, 12, 28, 0.42) !important;
}

.section-side-nav,
.management-section,
.application-card,
.bracket-team-card,
.schedule-generation-card,
.application-details-card,
.application-approvals-card,
.seeding-teams-section {
  border-color: rgba(0, 170, 255, 0.22) !important;
  background:
    linear-gradient(180deg, rgba(7, 31, 72, 0.72), rgba(3, 13, 36, 0.82)),
    rgba(3, 12, 28, 0.84) !important;
  box-shadow: inset 0 1px 0 rgba(160, 225, 255, 0.05), 0 16px 46px rgba(0, 8, 28, 0.22);
}

.compact-section-header,
.applications-head,
.seeding-head-row {
  border-color: rgba(0, 200, 255, 0.14);
}

.card-eyebrow,
.compact-section-header small,
.applications-head small {
  color: #5ee7ff !important;
}

.bracket-team-card:hover,
.application-card:hover {
  border-color: rgba(0, 200, 255, 0.40) !important;
  box-shadow: 0 16px 40px rgba(0, 92, 190, 0.16);
}

.bracket-hub-card .secondary-btn,
.bracket-hub-card .ghost-btn,
.bracket-hub-card .danger-btn {
  border-color: rgba(0, 170, 255, 0.24);
}

.bracket-hub-card input,
.bracket-hub-card select,
.bracket-hub-card textarea {
  background: rgba(3, 17, 42, 0.90) !important;
  border-color: rgba(0, 170, 255, 0.26) !important;
}

.bracket-hub-card input:focus,
.bracket-hub-card select:focus,
.bracket-hub-card textarea:focus {
  border-color: rgba(0, 200, 255, 0.72) !important;
  box-shadow: 0 0 0 3px rgba(0, 157, 255, 0.14) !important;
}


/* League Hub navigation blue hardening
   Forces every League Hub navigation surface to use the Bracketr blue system instead of purple/green states. */

/* Top admin navigation pills */
.admin-topbar,
.topbar {
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 157, 255, 0.14), transparent 30%),
    linear-gradient(180deg, rgba(3, 18, 43, 0.96), rgba(2, 10, 27, 0.98)) !important;
  border-bottom-color: rgba(0, 170, 255, 0.24) !important;
}

.admin-main-nav,
.topbar-actions.admin-main-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-nav-link,
.topbar-actions.admin-main-nav .admin-nav-link {
  color: #d7efff !important;
  background:
    linear-gradient(180deg, rgba(7, 39, 83, 0.92), rgba(4, 24, 55, 0.96)) !important;
  border: 1px solid rgba(0, 170, 255, 0.26) !important;
  box-shadow: inset 0 1px 0 rgba(160, 225, 255, 0.06), 0 10px 26px rgba(0, 8, 28, 0.18) !important;
}

.admin-nav-link:hover,
.topbar-actions.admin-main-nav .admin-nav-link:hover {
  color: #ffffff !important;
  border-color: rgba(0, 200, 255, 0.46) !important;
  background:
    linear-gradient(180deg, rgba(0, 111, 210, 0.62), rgba(5, 32, 72, 0.96)) !important;
  transform: translateY(-1px);
}

.admin-nav-link.current-page,
.admin-nav-link[aria-current="page"],
.topbar-actions.admin-main-nav .admin-nav-link.current-page,
.topbar-actions.admin-main-nav .admin-nav-link[aria-current="page"] {
  color: #ffffff !important;
  background:
    linear-gradient(135deg, rgba(0, 157, 255, 0.98), rgba(0, 95, 190, 0.92)) !important;
  border-color: rgba(0, 220, 255, 0.62) !important;
  box-shadow: 0 0 0 1px rgba(0, 200, 255, 0.20), 0 14px 34px rgba(0, 157, 255, 0.22) !important;
}

/* League Hub card/header/navigation shell */
.bracket-hub-card {
  background:
    radial-gradient(circle at 76% 0%, rgba(0, 200, 255, 0.14), transparent 34%),
    linear-gradient(135deg, rgba(3, 18, 43, 0.98), rgba(2, 9, 25, 0.99) 52%, rgba(4, 25, 60, 0.98)) !important;
  border-color: rgba(0, 170, 255, 0.30) !important;
}

.bracket-hub-header {
  background:
    linear-gradient(90deg, rgba(0, 111, 210, 0.32), rgba(3, 17, 42, 0.88)) !important;
  border-bottom-color: rgba(0, 200, 255, 0.22) !important;
}

.bracket-hub-tabs {
  background:
    linear-gradient(180deg, rgba(4, 31, 74, 0.98), rgba(2, 12, 33, 0.98)) !important;
  border-right: 1px solid rgba(0, 200, 255, 0.20) !important;
}

.hub-sidebar-brand {
  border-bottom-color: rgba(0, 200, 255, 0.16) !important;
}

.hub-sidebar-logo {
  background: linear-gradient(135deg, #009dff, #00d4ff) !important;
  color: #001527 !important;
  box-shadow: 0 0 26px rgba(0, 170, 255, 0.36) !important;
}

.hub-sidebar-brand strong {
  color: #f4fbff !important;
}

.hub-sidebar-brand small {
  color: #91c9f5 !important;
}

.hub-tab-btn {
  color: #cfe8ff !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  box-shadow: none !important;
}

.hub-tab-btn:hover {
  color: #ffffff !important;
  border-color: rgba(0, 200, 255, 0.32) !important;
  background:
    linear-gradient(90deg, rgba(0, 116, 210, 0.30), rgba(5, 38, 84, 0.64)) !important;
}

.hub-tab-btn.active {
  color: #ffffff !important;
  border-color: rgba(0, 220, 255, 0.48) !important;
  background:
    linear-gradient(90deg, rgba(0, 157, 255, 0.44), rgba(0, 83, 170, 0.22)) !important;
  box-shadow: inset 3px 0 0 rgba(0, 220, 255, 0.96), 0 14px 34px rgba(0, 8, 28, 0.24) !important;
}

/* Teams / Applications section side nav */
.section-side-nav {
  background:
    linear-gradient(180deg, rgba(4, 31, 74, 0.96), rgba(2, 12, 33, 0.96)) !important;
  border-color: rgba(0, 200, 255, 0.22) !important;
}

.section-side-link {
  color: #cfe8ff !important;
  background: rgba(5, 28, 66, 0.42) !important;
  border-color: rgba(0, 170, 255, 0.10) !important;
}

.section-side-link:hover,
.section-side-link:focus {
  color: #ffffff !important;
  background: rgba(0, 116, 210, 0.28) !important;
  border-color: rgba(0, 200, 255, 0.34) !important;
}

.section-side-link.active {
  color: #ffffff !important;
  background:
    linear-gradient(90deg, rgba(0, 157, 255, 0.42), rgba(0, 83, 170, 0.22)) !important;
  border-color: rgba(0, 220, 255, 0.46) !important;
  box-shadow: inset 3px 0 0 rgba(0, 220, 255, 0.96), 0 12px 28px rgba(0, 8, 28, 0.22) !important;
}

/* Remove legacy green selected nav on League Hub / admin pills */
.bracket-hub-card .success-btn,
.bracket-page .admin-nav-link.current-page,
.league-page .admin-nav-link.current-page {
  background:
    linear-gradient(135deg, rgba(0, 157, 255, 0.98), rgba(0, 95, 190, 0.92)) !important;
  border-color: rgba(0, 220, 255, 0.58) !important;
}


/* League Hub full card blue hardening
   The shell/card was still inheriting older purple gradients from previous dashboard styling.
   Keep every League Hub surface in the Bracketr blue system. */
.bracket-page .bracket-hub-card,
.bracket-hub-card {
  background:
    radial-gradient(circle at 18% 0%, rgba(0, 157, 255, 0.18), transparent 34%),
    radial-gradient(circle at 92% 18%, rgba(0, 210, 255, 0.10), transparent 30%),
    linear-gradient(135deg, rgba(3, 18, 43, 0.99) 0%, rgba(2, 10, 28, 0.99) 48%, rgba(4, 25, 62, 0.99) 100%) !important;
  border: 1px solid rgba(0, 170, 255, 0.32) !important;
  box-shadow:
    0 28px 84px rgba(0, 8, 28, 0.42),
    inset 0 1px 0 rgba(170, 230, 255, 0.07) !important;
}

.bracket-page .bracket-hub-header,
.bracket-hub-card .bracket-hub-header {
  background:
    radial-gradient(circle at 12% 0%, rgba(0, 200, 255, 0.14), transparent 38%),
    linear-gradient(90deg, rgba(0, 91, 185, 0.38), rgba(3, 16, 41, 0.92)) !important;
  border-bottom: 1px solid rgba(0, 200, 255, 0.22) !important;
}

.bracket-page .bracket-hub-tabs,
.bracket-hub-card .bracket-hub-tabs {
  background:
    radial-gradient(circle at 0% 10%, rgba(0, 157, 255, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(4, 31, 74, 0.98), rgba(2, 12, 33, 0.99)) !important;
  border-right: 1px solid rgba(0, 200, 255, 0.20) !important;
  border-bottom-color: rgba(0, 200, 255, 0.18) !important;
}

.bracket-page .bracket-hub-panel,
.bracket-hub-card .bracket-hub-panel {
  background:
    radial-gradient(circle at 86% 0%, rgba(0, 157, 255, 0.10), transparent 30%),
    linear-gradient(135deg, rgba(2, 10, 28, 0.88), rgba(3, 18, 43, 0.82)) !important;
}

.bracket-page .hub-sidebar-brand,
.bracket-hub-card .hub-sidebar-brand {
  background: rgba(2, 12, 34, 0.22) !important;
  border-bottom: 1px solid rgba(0, 200, 255, 0.16) !important;
}

.bracket-page .info-form-section,
.bracket-page .compact-control-card,
.bracket-page .application-card,
.bracket-page .bracket-team-card,
.bracket-page .schedule-generation-card,
.bracket-page .management-section,
.bracket-page .info-card-soft,
.bracket-hub-card .info-form-section,
.bracket-hub-card .compact-control-card,
.bracket-hub-card .application-card,
.bracket-hub-card .bracket-team-card,
.bracket-hub-card .schedule-generation-card,
.bracket-hub-card .management-section,
.bracket-hub-card .info-card-soft {
  background:
    linear-gradient(135deg, rgba(4, 22, 54, 0.92), rgba(2, 11, 30, 0.94)) !important;
  border-color: rgba(0, 170, 255, 0.22) !important;
  box-shadow: inset 0 1px 0 rgba(160, 225, 255, 0.05) !important;
}


/* League Hub definitive blue theme + cache-bust fix
   This block is intentionally last so older purple dashboard-shell rules cannot win. */
body.bracket-page .bracket-hub-card,
.bracket-hub-card {
  background:
    radial-gradient(circle at 16% 0%, rgba(0, 157, 255, 0.20), transparent 34%),
    radial-gradient(circle at 92% 12%, rgba(0, 213, 255, 0.12), transparent 32%),
    linear-gradient(135deg, #03162f 0%, #020b1c 48%, #041d3f 100%) !important;
  border: 1px solid rgba(0, 170, 255, 0.34) !important;
  box-shadow:
    0 28px 84px rgba(0, 8, 28, 0.46),
    inset 0 1px 0 rgba(176, 232, 255, 0.08) !important;
}

body.bracket-page .bracket-hub-header,
.bracket-hub-card>.bracket-hub-header {
  background:
    radial-gradient(circle at 10% 0%, rgba(0, 200, 255, 0.16), transparent 36%),
    linear-gradient(90deg, rgba(0, 96, 190, 0.42), rgba(3, 17, 42, 0.94)) !important;
  border-bottom: 1px solid rgba(0, 200, 255, 0.24) !important;
}

body.bracket-page .bracket-hub-tabs,
.bracket-hub-card>.bracket-hub-tabs {
  background:
    radial-gradient(circle at 0% 10%, rgba(0, 157, 255, 0.18), transparent 34%),
    linear-gradient(180deg, #05224f 0%, #031128 100%) !important;
  border-right: 1px solid rgba(0, 200, 255, 0.22) !important;
}

body.bracket-page .bracket-hub-panel,
.bracket-hub-card>.bracket-hub-panel {
  background:
    radial-gradient(circle at 92% 0%, rgba(0, 157, 255, 0.10), transparent 32%),
    linear-gradient(135deg, rgba(2, 11, 30, 0.94), rgba(3, 18, 43, 0.90)) !important;
}

body.bracket-page .hub-sidebar-brand,
.bracket-hub-card .hub-sidebar-brand {
  background: rgba(2, 13, 36, 0.35) !important;
  border-bottom: 1px solid rgba(0, 200, 255, 0.18) !important;
}

body.bracket-page .hub-tab-btn,
.bracket-hub-card .hub-tab-btn {
  background: transparent !important;
  color: #cce8ff !important;
  border: 1px solid transparent !important;
}

body.bracket-page .hub-tab-btn:hover,
body.bracket-page .hub-tab-btn.active,
.bracket-hub-card .hub-tab-btn:hover,
.bracket-hub-card .hub-tab-btn.active {
  background:
    linear-gradient(135deg, rgba(0, 128, 255, 0.28), rgba(0, 75, 160, 0.34)) !important;
  border-color: rgba(0, 213, 255, 0.36) !important;
  border-left: 3px solid #00d4ff !important;
  color: #ffffff !important;
  box-shadow: inset 0 1px 0 rgba(176, 232, 255, 0.08), 0 10px 28px rgba(0, 100, 220, 0.18) !important;
}

body.bracket-page .info-form-section,
body.bracket-page .compact-control-card,
body.bracket-page .application-card,
body.bracket-page .bracket-team-card,
body.bracket-page .schedule-generation-card,
body.bracket-page .management-section,
body.bracket-page .info-card-soft,
.bracket-hub-card .info-form-section,
.bracket-hub-card .compact-control-card,
.bracket-hub-card .application-card,
.bracket-hub-card .bracket-team-card,
.bracket-hub-card .schedule-generation-card,
.bracket-hub-card .management-section,
.bracket-hub-card .info-card-soft {
  background:
    linear-gradient(135deg, rgba(4, 22, 54, 0.94), rgba(2, 11, 30, 0.96)) !important;
  border-color: rgba(0, 170, 255, 0.24) !important;
  box-shadow: inset 0 1px 0 rgba(160, 225, 255, 0.06) !important;
}

body.bracket-page input,
body.bracket-page select,
body.bracket-page textarea,
.bracket-hub-card input,
.bracket-hub-card select,
.bracket-hub-card textarea {
  background: rgba(3, 17, 42, 0.94) !important;
  border-color: rgba(0, 170, 255, 0.28) !important;
}


/* Teams / Applications horizontal workspace + live refresh */
#seedingPanel .teams-applications-shell {
  display: block !important;
  max-width: 1500px;
  width: 100%;
}

.section-top-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 16px;
  padding: 10px;
  border: 1px solid rgba(0, 157, 255, 0.22);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(4, 21, 45, 0.9), rgba(3, 12, 28, 0.88));
}

.section-nav-tab {
  appearance: none;
  border: 1px solid rgba(0, 200, 255, 0.2);
  border-radius: 13px;
  background: rgba(8, 28, 58, 0.72);
  color: #bfe8ff;
  cursor: pointer;
  font-weight: 900;
  padding: 12px 15px;
  transition: border-color 0.18s ease, background 0.18s ease, transform 0.18s ease;
}

.section-nav-tab:hover,
.section-nav-tab:focus {
  border-color: rgba(0, 200, 255, 0.68);
  background: rgba(0, 157, 255, 0.18);
  color: #ffffff;
}

.section-nav-tab.active {
  border-color: rgba(0, 200, 255, 0.95);
  background: linear-gradient(135deg, rgba(0, 157, 255, 0.36), rgba(0, 82, 163, 0.56));
  box-shadow: 0 0 0 1px rgba(0, 200, 255, 0.12), 0 12px 28px rgba(0, 157, 255, 0.16);
  color: #ffffff;
}

.teams-app-section {
  display: none !important;
}

.teams-app-section.active {
  display: block !important;
}

.schedule-generation-card.teams-app-section.active {
  display: flex !important;
}

#seedingPanel .applications-panel {
  display: block;
  margin: 0;
}

#seedingPanel .management-section {
  max-width: 1500px;
  border-color: rgba(0, 157, 255, 0.24);
  background: linear-gradient(180deg, rgba(3, 15, 34, 0.94), rgba(2, 10, 24, 0.94));
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.22);
}

#seedingPanel .compact-section-header {
  align-items: flex-start;
  margin-bottom: 14px;
}

.compact-app-settings {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(240px, 320px);
  gap: 14px;
}

.applications-header-actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.applications-live-indicator {
  border: 1px solid rgba(0, 200, 255, 0.2);
  border-radius: 999px;
  background: rgba(0, 157, 255, 0.12);
  color: #9edfff;
  font-size: 12px;
  font-weight: 800;
  padding: 7px 10px;
}

#applicationApprovalsSection {
  max-width: min(1500px, 100%) !important;
}

#applicationApprovalsSection .applications-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 12px;
}

#teamSeedingSection {
  max-width: 100% !important;
}

#teamSeedingSection .seeding-teams-grid {
  grid-template-columns: repeat(auto-fill, minmax(1000px, 1fr));
}

@media (max-width: 860px) {
  .section-top-nav {
    display: grid;
    grid-template-columns: 1fr;
  }

  .compact-app-settings {
    grid-template-columns: 1fr;
  }

  .schedule-generation-card.teams-app-section.active {
    align-items: stretch;
    flex-direction: column;
  }
}


/* Teams / Applications tab visibility hardening */
[data-app-section-panel][hidden] {
  display: none !important;
}

#seedingPanel .teams-app-section:not(.active) {
  display: none !important;
}

#seedingPanel .teams-app-section.active {
  display: block !important;
}

#seedingPanel .schedule-generation-card.teams-app-section.active {
  display: flex !important;
}


/* Team Portal Phase 3: competitions + player/trade request workflow */
.team-request-form {
  display: grid;
  gap: 16px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(56, 189, 248, 0.18);
  border-radius: 18px;
  background: rgba(2, 14, 31, 0.42);
}

.team-request-list {
  margin-top: 18px;
}

.team-request-card {
  border-color: rgba(56, 189, 248, 0.18);
  background: linear-gradient(135deg, rgba(3, 20, 43, 0.92), rgba(4, 12, 27, 0.96));
}

.team-admin-reason {
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(74, 222, 128, 0.2);
  background: rgba(74, 222, 128, 0.08);
  color: var(--text-muted, #b9d7f5);
}

.status-approved,
.application-status-badge.status-approved {
  color: #58f39a;
}

.status-rejected,
.application-status-badge.status-rejected {
  color: #ff7194;
}

.status-pending,
.application-status-badge.status-pending {
  color: #38d6ff;
}




.dashboard-news-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
  margin-bottom: 20px;
}

.dashboard-news-support-grid>.dashboard-management-card {
  margin-bottom: 0;
  height: 100%;
}

.dashboard-news-support-grid .staff-latest-news-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
}

.dashboard-news-support-grid .staff-latest-news-card.hidden {
  display: none;
}

.dashboard-support-footer {
  margin: 0 0 20px;
}

@media (max-width: 980px) {
  .dashboard-news-support-grid {
    grid-template-columns: 1fr;
  }
}

/* Dashboard bug reporting */
.bug-dashboard-card,
.bug-log-card {
  align-items: stretch;
  gap: 22px;
}

.bug-report-form {
  display: grid;
  gap: 14px;
  width: min(760px, 100%);
}

.bug-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.bug-report-form label {
  display: grid;
  gap: 7px;
  color: var(--text-muted, #9fb6d8);
  font-size: .8rem;
  font-weight: 900;
  letter-spacing: .25px;
}

.bug-report-form input,
.bug-report-form textarea,
.bug-status-controls select,
.bug-status-controls input {
  width: 100%;
  border: 1px solid rgba(0, 170, 255, .2);
  border-radius: 14px;
  background: rgba(3, 14, 31, .86);
  color: var(--text, #f4f8ff);
  padding: 12px 13px;
  outline: none;
}

.bug-report-form textarea {
  resize: vertical;
  min-height: 110px;
}

.bug-form-actions,
.bug-log-header,
.bug-report-title-row,
.bug-status-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bug-form-actions {
  flex-wrap: wrap;
}

.bug-form-actions .message {
  margin: 0;
}

.bug-log-header {
  justify-content: space-between;
  align-items: flex-start;
}

.bug-report-list {
  display: grid;
  gap: 14px;
  width: 100%;
}

.bug-report-item {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 16px;
  padding: 14px;
  border: 1px solid rgba(0, 170, 255, .16);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(7, 27, 55, .92), rgba(3, 13, 30, .96));
  box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
}

.bug-shot {
  min-height: 116px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0, 157, 255, .07);
  border: 1px solid rgba(0, 170, 255, .15);
}

.bug-screenshot-link,
.bug-screenshot-link img {
  display: block;
  width: 100%;
  height: 100%;
}

.bug-screenshot-link img {
  object-fit: cover;
  max-height: 150px;
}

.bug-no-shot {
  min-height: 116px;
  display: grid;
  place-items: center;
  color: #7f9ec3;
  font-weight: 900;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .7px;
}

.bug-report-body {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.bug-report-body h3 {
  margin: 0;
  color: #f4f8ff;
  font-size: 1rem;
}

.bug-meta,
.bug-page,
.bug-details,
.bug-note {
  margin: 0;
  color: #a9bfdd;
  line-height: 1.45;
}

.bug-page {
  font-size: .82rem;
  color: #75d4ff;
}

.bug-status-pill {
  margin-left: auto;
  border: 1px solid rgba(0, 200, 255, .2);
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(0, 157, 255, .12);
  color: #8ee6ff;
  font-size: calc(.72rem * var(--preview-font-scale));
  font-weight: 950;
  text-transform: uppercase;
  white-space: nowrap;
}

.bug-status-fixed .bug-status-pill {
  border-color: rgba(74, 222, 128, .3);
  background: rgba(74, 222, 128, .12);
  color: #7cf2a5;
}

.bug-status-acknowledged .bug-status-pill {
  border-color: rgba(255, 212, 102, .3);
  background: rgba(255, 212, 102, .12);
  color: #ffe08a;
}

.bug-status-controls {
  flex-wrap: wrap;
  margin-top: 6px;
}

.bug-status-controls select {
  max-width: 190px;
}

.bug-status-controls input {
  min-width: min(320px, 100%);
  flex: 1;
}

@media (max-width: 760px) {

  .bug-form-grid,
  .bug-report-item {
    grid-template-columns: 1fr;
  }

  .bug-log-header,
  .bug-report-title-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .bug-status-pill {
    margin-left: 0;
  }
}



/* MASTER TEAM MANAGEMENT */

.master-teams-page {
  padding: 24px;
}

.master-teams-shell {
  display: grid;
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  gap: 20px;
  align-items: start;
}

.master-teams-sidebar,
.master-team-detail {
  min-height: 560px;
}

.master-team-filters {
  display: grid;
  gap: 12px;
  margin: 18px 0;
}

.master-team-list {
  display: grid;
  gap: 10px;
  max-height: 62vh;
  overflow: auto;
  padding-right: 4px;
}

.master-team-row {
  width: 100%;
  display: grid;
  grid-template-columns: 48px 1fr auto;
  gap: 12px;
  align-items: center;
  text-align: left;
  padding: 12px;
  border-radius: 16px;
  border: 1px solid rgba(0, 170, 255, 0.18);
  background: rgba(5, 20, 42, 0.78);
  color: var(--text);
  cursor: pointer;
}

.master-team-row:hover,
.master-team-row.active {
  border-color: rgba(0, 200, 255, 0.52);
  background: rgba(0, 157, 255, 0.16);
}

.master-team-logo {
  width: 48px;
  height: 48px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(0, 157, 255, 0.12);
  border: 1px solid rgba(0, 170, 255, 0.25);
  color: var(--accent-2);
  font-weight: 900;
}

.master-team-logo.large {
  width: 76px;
  height: 76px;
  border-radius: 20px;
  flex: 0 0 auto;
}

.master-team-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.master-team-summary {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.master-team-summary strong,
.master-team-summary small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.master-team-summary small,
.small-muted {
  color: var(--muted);
  font-size: 13px;
}

.master-team-count {
  min-width: 32px;
  height: 32px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(0, 200, 255, 0.14);
  color: var(--accent-2);
  font-weight: 900;
  border: 1px solid rgba(0, 200, 255, 0.26);
}

.master-team-detail-header {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
}

.master-team-actions-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 16px 0;
}

.team-admin-panel {
  border: 1px solid rgba(0, 170, 255, 0.18);
  border-radius: 18px;
  padding: 16px;
  background: rgba(4, 16, 34, 0.72);
}

.team-admin-panel h3 {
  margin: 0 0 10px;
}

.inline-control {
  display: flex;
  gap: 10px;
  align-items: center;
}

.inline-control input {
  flex: 1;
}

.team-player-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 10px;
}

.team-player-card,
.team-competition-card,
.mini-log-row {
  border: 1px solid rgba(0, 170, 255, 0.16);
  border-radius: 14px;
  padding: 12px;
  background: rgba(1, 10, 25, 0.62);
}

.team-player-card {
  display: grid;
  gap: 4px;
}

.team-player-card span,
.team-competition-card p,
.mini-log-row p,
.mini-log-row small {
  color: var(--muted);
  margin: 4px 0 0;
}

.team-competition-list {
  display: grid;
  gap: 10px;
}

.team-competition-card {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
}

.status-chip {
  display: inline-flex;
  padding: 4px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  background: rgba(0, 157, 255, 0.14);
  color: var(--accent-2);
  border: 1px solid rgba(0, 157, 255, 0.25);
}

.status-approved {
  background: rgba(81, 255, 176, 0.12);
  color: var(--success);
  border-color: rgba(81, 255, 176, 0.26);
}

.status-rejected {
  background: rgba(255, 92, 122, 0.12);
  color: var(--danger);
  border-color: rgba(255, 92, 122, 0.26);
}

@media (max-width: 980px) {

  .master-teams-shell,
  .master-team-actions-grid {
    grid-template-columns: 1fr;
  }

  .master-team-list {
    max-height: none;
  }

  .team-competition-card,
  .inline-control {
    flex-direction: column;
    align-items: stretch;
  }
}


/* Dashboard staff news modal */
.dashboard-news-card {
  width: 100%;
  text-align: left;
  cursor: pointer;
  font: inherit;
}

.dashboard-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.dashboard-modal.hidden {
  display: none;
}

.dashboard-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 4, 12, .76);
  backdrop-filter: blur(8px);
}

.dashboard-modal-panel {
  position: relative;
  width: min(920px, 100%);
  max-height: min(86vh, 900px);
  overflow: auto;
  border: 1px solid rgba(0, 170, 255, .22);
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(7, 27, 55, .98), rgba(3, 13, 30, .98));
  box-shadow: 0 30px 90px rgba(0, 0, 0, .45);
  padding: 22px;
}

.dashboard-modal-header {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(0, 170, 255, .14);
}

.news-editor-form {
  display: grid;
  gap: 14px;
  margin-bottom: 20px;
  padding: 16px;
  border: 1px solid rgba(0, 170, 255, .16);
  border-radius: 18px;
  background: rgba(2, 15, 34, .72);
}

.news-editor-form label {
  display: grid;
  gap: 7px;
  color: var(--text-muted, #9fb6d8);
  font-size: .8rem;
  font-weight: 900;
}

.news-editor-form input,
.news-editor-form textarea {
  width: 100%;
  border: 1px solid rgba(0, 170, 255, .2);
  border-radius: 14px;
  background: rgba(3, 14, 31, .86);
  color: var(--text, #f4f8ff);
  padding: 12px 13px;
  outline: none;
}

.news-editor-form textarea {
  resize: vertical;
  min-height: 130px;
}

.news-list {
  display: grid;
  gap: 14px;
}

.news-item {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  gap: 16px;
  padding: 14px;
  border: 1px solid rgba(0, 170, 255, .16);
  border-radius: 20px;
  background: linear-gradient(145deg, rgba(7, 27, 55, .92), rgba(3, 13, 30, .96));
}

.news-item.is-hidden-news {
  opacity: .65;
}

.news-image {
  min-height: 130px;
  border-radius: 16px;
  overflow: hidden;
  background: rgba(0, 157, 255, .07);
  border: 1px solid rgba(0, 170, 255, .15);
}

.news-image img {
  width: 100%;
  height: 100%;
  max-height: 170px;
  object-fit: cover;
  display: block;
}

.news-image-empty {
  display: grid;
  place-items: center;
  color: #7f9ec3;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .7px;
  font-size: .78rem;
}

.news-content {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.news-title-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.news-content h3 {
  margin: 0;
  color: #f4f8ff;
}

.news-content p {
  margin: 0;
  color: #a9bfdd;
  line-height: 1.5;
  white-space: pre-wrap;
}

@media (max-width: 1280px) {
  .dashboard-portal-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {

  .dashboard-portal-grid,
  .news-item {
    grid-template-columns: 1fr;
  }

  .dashboard-portal-grid .dashboard-management-card {
    min-height: 0;
  }

  .dashboard-modal {
    padding: 12px;
  }
}


/* Team Portal section navigation */
.team-portal-dashboard {
  padding: 0;
}

.team-portal-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.team-portal-side-nav {
  position: sticky;
  top: 18px;
  display: grid;
  gap: 18px;
  min-height: calc(100vh - 220px);
  padding: 18px;
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(7, 29, 59, 0.94), rgba(2, 10, 24, 0.96)),
    radial-gradient(circle at top left, rgba(0, 198, 255, 0.16), transparent 42%);
  box-shadow: 0 22px 70px rgba(0, 0, 0, 0.24);
}

.team-portal-side-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--border);
}

.team-avatar {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--accent), #145dff);
  color: #fff;
  font-weight: 900;
  box-shadow: 0 14px 35px rgba(0, 157, 255, 0.24);
}

.team-portal-side-brand strong {
  display: block;
  color: var(--text);
  font-size: 16px;
}

.team-portal-side-brand span {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
}

.team-portal-nav {
  display: grid;
  gap: 8px;
}

.team-portal-nav-btn {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 13px;
  padding: 13px 14px;
  background: transparent;
  color: #c8e5ff;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.team-portal-nav-btn:hover {
  border-color: rgba(0, 200, 255, 0.28);
  background: rgba(0, 157, 255, 0.10);
  color: #fff;
  transform: translateX(2px);
}

.team-portal-nav-btn.is-active {
  border-color: rgba(0, 200, 255, 0.60);
  background: linear-gradient(135deg, rgba(0, 157, 255, 0.24), rgba(0, 200, 255, 0.08));
  color: #fff;
  box-shadow: inset 3px 0 0 var(--accent-2);
}

.team-portal-content {
  min-width: 0;
}

.team-portal-panel {
  display: none;
}

.apply-hero-card {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
}

.team-portal-panel>.card {
  min-height: 440px;
}

.team-portal-save-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 14px;
}

.team-portal-roster {
  display: grid;
  gap: 12px;
  max-height: none;
  overflow: visible;
}

.team-portal-roster .player-row {
  grid-template-columns: minmax(160px, 1.2fr) minmax(180px, 1.4fr) minmax(120px, 0.8fr) minmax(160px, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(3, 14, 32, 0.66);
}

.team-portal-panel .applications-list {
  max-height: none;
}

@media (max-width: 980px) {
  .team-portal-shell {
    grid-template-columns: 1fr;
  }

  .team-portal-side-nav {
    position: static;
    min-height: auto;
  }

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

  .team-portal-roster .player-row {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .team-portal-nav {
    grid-template-columns: 1fr;
  }
}


/* === Bracketr unified admin sidebar shell fix === */
.admin-app-shell {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 24px;
  width: 100%;
  padding: 24px;
  align-items: start;
}

.admin-content {
  min-width: 0;
}

.admin-sidebar {
  position: sticky;
  top: 24px;
  min-height: calc(100vh - 48px);
  border: 1px solid var(--border);
  border-radius: 18px;
  background:
    radial-gradient(circle at top left, rgba(0, 200, 255, 0.12), transparent 32%),
    linear-gradient(180deg, rgba(6, 25, 52, 0.92), rgba(2, 12, 28, 0.96));
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
  padding: 18px 14px;
}

.admin-sidebar-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 8px 10px 18px;
  margin-bottom: 14px;
  border-bottom: 1px solid rgba(0, 170, 255, 0.16);
}

.admin-sidebar-logo {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, var(--accent), #1677ff);
  box-shadow: 0 10px 28px rgba(0, 157, 255, 0.26);
}

.admin-sidebar-brand strong {
  display: block;
  color: var(--text);
  font-size: 16px;
  line-height: 1.15;
}

.admin-sidebar-brand small {
  display: block;
  color: var(--muted);
  font-size: 12px;
  margin-top: 3px;
}

.admin-sidebar-nav {
  display: grid;
  gap: 8px;
}

.admin-sidebar-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 44px;
  padding: 11px 14px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #cbe8ff;
  text-decoration: none;
  font-weight: 800;
  letter-spacing: 0.01em;
  background: transparent;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.admin-sidebar-link:hover {
  color: #fff;
  border-color: rgba(0, 200, 255, 0.26);
  background: rgba(0, 157, 255, 0.11);
  transform: translateX(2px);
}

.admin-sidebar-link.active {
  color: #fff;
  border-color: rgba(0, 200, 255, 0.55);
  background: linear-gradient(90deg, rgba(0, 157, 255, 0.30), rgba(0, 157, 255, 0.10));
  box-shadow: inset 4px 0 0 rgba(0, 255, 200, 0.82);
}

.admin-sidebar-link.admin-sidebar-external {
  color: #72ffd7;
}


@media (max-width: 980px) {
  .admin-app-shell {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .admin-sidebar {
    position: static;
    min-height: auto;
  }

  .admin-sidebar-nav {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }
}

@media (max-width: 640px) {
  .admin-sidebar-nav {
    grid-template-columns: 1fr;
  }
}

/* Embedded viewer bracket for League Hub > Ladder / Bracket */
.bracket-preview.viewer-bracket-embed-view {
  display: grid;
  grid-template-rows: auto minmax(680px, 1fr);
  gap: 12px;
  min-height: 760px;
  overflow: hidden;
  padding: 0;
}

.hub-bracket-viewer-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  border: 1px solid rgba(56, 189, 248, 0.24);
  border-radius: 14px;
  background: rgba(3, 18, 38, 0.82);
}

.hub-bracket-viewer-toolbar div {
  display: grid;
  gap: 3px;
}

.hub-bracket-viewer-toolbar strong {
  color: var(--text);
  font-size: 1rem;
}

.hub-bracket-viewer-toolbar span {
  color: var(--muted);
  font-size: 0.86rem;
}

.hub-bracket-viewer-frame {
  width: 100%;
  min-height: 680px;
  border: 1px solid rgba(56, 189, 248, 0.22);
  border-radius: 18px;
  background: #050817;
}


/* Bracketr admin consistency update */
.topbar,
.admin-topbar {
  padding: 18px 32px !important;
}

.topbar h1,
.topbar-title h1,
.page-title h1,
.league-page .topbar h1,
.dashboard-page .topbar h1 {
  font-size: 24px !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}

.topbar p,
.topbar-title p {
  font-size: 14px !important;
  margin-top: 4px !important;
}

/* Tournament hub should keep the dashboard-style side navigation instead of large top pills. */
body.bracket-page .admin-main-nav {
  display: none !important;
}

body.bracket-page .topbar {
  min-height: 88px;
}

.general-ruleset-row {
  display: flex;
  justify-content: flex-start;
  margin: 10px 0 8px;
}

.general-ruleset-row .secondary-btn {
  width: fit-content;
}

.rules-helper-text {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.bracket-hub-tabs .hub-global-link {
  text-decoration: none;
  color: inherit;
}

.bracket-hub-tabs .hub-global-link.current-page {
  background: rgba(0, 157, 255, 0.16);
  border-color: rgba(0, 200, 255, 0.35);
}

.hub-sidebar-divider {
  height: 1px;
  margin: 8px 12px;
  background: rgba(0, 200, 255, 0.16);
}


/* Tournament hub cleanup: no duplicated top page pills, clearer side divider, reliable panels */
body.bracket-page .topbar-actions.admin-main-nav,
body.bracket-page .admin-main-nav {
  display: none !important;
}

body.bracket-page .topbar-left {
  gap: 0 !important;
}

body.bracket-page .bracket-hub-tabs .hub-sidebar-divider {
  height: 1px;
  margin: 12px 8px 10px;
  background: linear-gradient(90deg, transparent, rgba(0, 220, 255, 0.65), transparent);
  box-shadow: 0 0 12px rgba(0, 220, 255, 0.18);
}

body.bracket-page .bracket-hub-tabs .hub-sidebar-divider::after {
  content: "League Hub";
  display: block;
  margin-top: 10px;
  color: #5ee7ff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

body.bracket-page .bracket-hub-tabs .hub-sidebar-divider+.hub-tab-btn {
  margin-top: 22px;
}

body.bracket-page .bracket-hub-panel[hidden] {
  display: none !important;
}

body.bracket-page .bracket-hub-panel.active {
  display: block !important;
}

.general-ruleset-row {
  align-items: center;
  gap: 10px;
}

.general-ruleset-row .secondary-btn {
  border-radius: 999px;
}


.actionable-empty-state {
  min-height: 220px;
  align-items: flex-start;
  text-align: left;
  gap: 10px;
}

.actionable-empty-state h3 {
  margin: 0;
  font-size: 1.15rem;
}

.empty-state-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 8px;
}

/* Stream allocation lanes */
.stream-allocation-card {
  margin-top: 18px;
}

.stream-allocation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 16px;
  align-items: start;
}

.stream-lane-card {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.stream-lane-head {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.stream-match-checklist {
  display: grid;
  gap: 8px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.stream-match-row {
  align-items: flex-start;
  gap: 10px;
  line-height: 1.35;
}

.stream-match-row input {
  margin-top: 3px;
  flex: 0 0 auto;
}


/* Emergency admin shell + bracket viewer repair */
.admin-app-shell {
  display: grid !important;
  grid-template-columns: 260px minmax(0, 1fr) !important;
  gap: 20px !important;
  padding: 24px !important;
  align-items: start !important;
}

.admin-sidebar {
  display: block !important;
  width: 260px !important;
  min-width: 260px !important;
  position: sticky !important;
  top: 18px !important;
  align-self: start !important;
  border: 1px solid rgba(56, 189, 248, 0.22) !important;
  border-radius: 18px !important;
  background: rgba(3, 18, 38, 0.88) !important;
  padding: 16px !important;
}

.admin-sidebar-nav {
  display: grid !important;
  gap: 8px !important;
}

.admin-sidebar-link {
  display: block !important;
  border-radius: 12px !important;
  padding: 10px 12px !important;
  color: var(--text) !important;
  text-decoration: none !important;
}

.admin-sidebar-link.active,
.admin-sidebar-link:hover {
  background: rgba(0, 157, 255, 0.18) !important;
  color: #fff !important;
}

.admin-content {
  min-width: 0 !important;
}

.bracket-preview.viewer-bracket-embed-view {
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - 240px) !important;
  overflow: hidden !important;
}

.hub-bracket-viewer-frame {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: calc(100vh - 300px) !important;
}

.match-time-inline-editor {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  flex-wrap: wrap !important;
}

.match-date-override-input,
.match-time-override-input {
  width: auto !important;
  min-width: 120px !important;
}

@media (max-width: 900px) {
  .admin-app-shell {
    grid-template-columns: 1fr !important;
  }

  .admin-sidebar {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}


.input-with-picker {
  display: inline-flex;
  align-items: center;
  width: 100%;
  gap: 4px;
}

.input-with-picker input[type="time"] {
  flex: 1 1 auto;
  min-width: 0;
}

.input-picker-btn {
  flex: 0 0 auto;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  border: 1px solid rgba(84, 215, 255, 0.45);
  background: rgba(84, 215, 255, 0.1);
  color: #dff7ff;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.input-picker-btn:hover {
  background: rgba(84, 215, 255, 0.2);
}

.compact-time-picker {
  width: 122px;
  gap: 3px;
}

.compact-time-picker .match-time-override-input {
  width: 88px;
}

.match-date-override-input {
  width: 132px;
  padding: 3px 6px;
  border-radius: 8px;
  border: 1px solid rgba(84, 215, 255, 0.55);
  background: rgba(4, 9, 21, 0.95);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
}


/* Ruleset library controls */
.ruleset-control-card {
  border: 1px solid rgba(64, 180, 255, 0.18);
  background: rgba(5, 16, 34, 0.55);
  border-radius: 14px;
  padding: 14px;
  margin: 10px 0 12px;
}

.ruleset-control-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
  gap: 14px;
}

.general-ruleset-row {
  gap: 10px;
  flex-wrap: wrap;
}

.rules-preview-label textarea {
  min-height: 120px;
}

.ruleset-modal-card {
  width: min(980px, 94vw);
  max-height: 92vh;
  overflow: auto;
}

.ruleset-modal-card .modal-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
  margin-bottom: 16px;
}

.ruleset-modal-card textarea {
  width: 100%;
  min-height: 46vh;
  resize: vertical;
}

.ruleset-modal-actions {
  flex-wrap: wrap;
}

@media (max-width: 720px) {
  .ruleset-control-grid {
    grid-template-columns: 1fr;
  }
}


.section-heading-row,
.social-add-controls {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.social-add-controls {
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.social-add-controls select {
  min-width: 180px;
}

.social-links-list {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.social-link-row {
  display: grid;
  grid-template-columns: minmax(120px, 0.8fr) minmax(140px, 1fr) minmax(220px, 1.4fr) minmax(160px, 1fr) auto;
  align-items: end;
  gap: 10px;
  padding: 12px;
  border: 1px solid rgba(0, 198, 255, 0.24);
  border-radius: 14px;
  background: rgba(2, 12, 28, 0.45);
}

.social-remove-btn {
  min-height: 36px;
}

@media (max-width: 1100px) {
  .social-link-row {
    grid-template-columns: 1fr 1fr;
  }

  .social-remove-btn {
    justify-self: start;
  }
}

@media (max-width: 720px) {

  .section-heading-row,
  .social-add-controls {
    align-items: stretch;
    flex-direction: column;
  }

  .social-link-row {
    grid-template-columns: 1fr;
  }
}


/* TEAM APPLICATION PAGE POLISH */

.apply-page-topbar,
.apply-topbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 32px;
  background:
    linear-gradient(135deg, rgba(2, 18, 40, 0.96), rgba(5, 30, 66, 0.88)),
    radial-gradient(circle at 12% 10%, rgba(0, 200, 255, 0.16), transparent 34%);
}

.apply-topbar-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.apply-shell {
  width: min(1500px, calc(100% - 40px));
  margin: 28px auto 56px;
  display: grid;
  gap: 20px;
}

.apply-hero-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 26px;
  background:
    linear-gradient(135deg, rgba(0, 64, 116, 0.62), rgba(3, 12, 28, 0.94)),
    radial-gradient(circle at 82% 18%, rgba(0, 200, 255, 0.14), transparent 32%);
}

.apply-hero-card h2 {
  margin: 4px 0 8px;
  font-size: clamp(30px, 4vw, 56px);
  letter-spacing: -0.04em;
  text-shadow: 0 4px 0 rgba(0, 0, 0, 0.35);
}

.apply-hero-card p {
  max-width: 880px;
  margin: 0;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-2);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}

.apply-status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 118px;
  padding: 12px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(40, 220, 190, 0.95), rgba(0, 157, 255, 0.9));
  color: #ffffff;
  font-weight: 900;
  box-shadow: 0 18px 40px rgba(0, 157, 255, 0.2);
}

.apply-status-pill.is-closed {
  background: rgba(255, 92, 122, 0.18);
  border: 1px solid rgba(255, 92, 122, 0.35);
  color: var(--danger);
  box-shadow: none;
}

.apply-status-pill.is-signed-up {
  background: rgba(34, 197, 94, 0.18);
  border: 1px solid rgba(34, 197, 94, 0.35);
  color: #bfffd2;
  box-shadow: none;
}

.apply-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(360px, 0.8fr);
  gap: 20px;
  align-items: start;
}

.apply-form-card,
.apply-details-stack .card {
  background: rgba(3, 12, 28, 0.88);
  border-color: rgba(0, 170, 255, 0.24);
}

.apply-form-card {
  padding: 26px;
}

.apply-form-card .card-header {
  padding-bottom: 18px;
  margin-bottom: 8px;
  border-bottom: 1px solid rgba(0, 170, 255, 0.18);
}

.apply-form-card .card-header h2 {
  font-size: 26px;
}

.apply-form-card .muted {
  color: var(--muted);
  line-height: 1.5;
}

.team-account-callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 14px 0;
  padding: 18px;
  border: 1px solid rgba(0, 200, 255, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(0, 157, 255, 0.14), rgba(3, 12, 28, 0.54));
}

.team-account-callout h3 {
  margin: 6px 0;
  font-size: 18px;
}

.team-account-callout p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.existing-application-summary {
  display: grid;
  gap: 18px;
  margin-top: 18px;
}

.existing-application-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 18px;
  border: 1px solid rgba(34, 197, 94, .28);
  border-radius: 18px;
  background: rgba(9, 42, 31, .42);
}

.existing-application-head h2 {
  margin: 4px 0 8px;
}

.existing-application-head p {
  margin: 0;
  color: var(--muted);
}

.existing-application-status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(34, 197, 94, .45);
  border-radius: 999px;
  padding: 8px 12px;
  color: #bfffd2;
  font-weight: 900;
  white-space: nowrap;
}

.existing-team-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.existing-tournament-status {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.existing-tournament-status article {
  border: 1px solid rgba(34, 197, 94, .28);
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(10, 70, 45, .42), rgba(3, 20, 42, .62));
  padding: 16px;
}

.existing-tournament-status span {
  display: block;
  margin-bottom: 7px;
  color: #86efac;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.existing-tournament-status strong {
  display: block;
  color: #fff;
  font-size: 24px;
  line-height: 1.1;
}

.existing-tournament-status small {
  display: block;
  margin-top: 7px;
  color: var(--muted);
}

.existing-team-grid div,
.existing-roster-block,
.existing-notes {
  border: 1px solid rgba(0, 170, 255, .2);
  border-radius: 16px;
  background: rgba(0, 12, 28, .58);
  padding: 14px;
}

.existing-team-grid span {
  display: block;
  margin-bottom: 6px;
  color: #7dd3fc;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.existing-team-grid strong {
  color: #fff;
  word-break: break-word;
}

.existing-roster-block h3,
.existing-notes h3 {
  margin: 0 0 12px;
}

.existing-roster-list {
  display: grid;
  gap: 10px;
}

.existing-roster-list article {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 12px;
  background: rgba(255, 255, 255, .035);
}

.existing-roster-list article>span {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(37, 99, 235, .3);
  color: #dbeafe;
  font-weight: 900;
}

.existing-roster-list strong,
.existing-roster-list small {
  display: block;
}

.existing-roster-list small {
  margin-top: 3px;
  color: var(--muted);
}

.existing-notes p {
  margin: 0;
  color: var(--muted);
  white-space: pre-wrap;
}

.existing-application-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.account-create-callout {
  background:
    linear-gradient(135deg, rgba(81, 255, 176, 0.1), rgba(0, 157, 255, 0.08));
}

.apply-section-title {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 22px 0 4px;
  padding-top: 18px;
  border-top: 1px solid rgba(0, 170, 255, 0.16);
}

.apply-section-title>span {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--accent), var(--accent-2));
  color: white;
  font-weight: 900;
}

.apply-section-title h3 {
  margin: 0;
  font-size: 18px;
}

.apply-section-title p {
  margin: 3px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.apply-form-card label {
  font-weight: 700;
  color: #cfe5ff;
}

.apply-form-card input,
.apply-form-card select,
.apply-form-card textarea {
  min-height: 46px;
  border-radius: 13px;
  background: rgba(0, 12, 28, 0.78);
  border-color: rgba(0, 170, 255, 0.26);
}

.apply-form-card textarea {
  width: 100%;
  resize: vertical;
  color: var(--text);
  padding: 12px 13px;
  outline: none;
}

.apply-form-card textarea:focus {
  border-color: var(--accent-2);
}

.apply-form-card .primary-btn {
  justify-self: start;
  margin-top: 8px;
  padding: 14px 20px;
  border-radius: 14px;
  background: linear-gradient(135deg, #20dbc0, #009dff);
  box-shadow: 0 16px 34px rgba(0, 157, 255, 0.24);
}

.application-player-row {
  grid-template-columns: minmax(160px, 1fr) minmax(180px, 1.1fr) 140px minmax(160px, 0.9fr) 44px;
  padding: 14px;
  border-radius: 18px;
  background: rgba(0, 15, 35, 0.72);
}

.confirm-check {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
  gap: 12px;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(81, 255, 176, 0.24);
  background: rgba(81, 255, 176, 0.07);
}

.confirm-check input {
  width: auto;
  min-height: 0;
  margin-top: 2px;
}

.apply-details-stack {
  display: grid;
  gap: 20px;
  position: sticky;
  top: 18px;
}

.competition-detail-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin-top: 14px;
}

.competition-detail-item {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(0, 12, 28, 0.66);
  border: 1px solid rgba(0, 170, 255, 0.18);
}

.competition-detail-item span {
  color: var(--accent-2);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.competition-detail-item strong {
  color: var(--text);
  font-size: 14px;
}

.competition-copy {
  color: var(--muted);
  line-height: 1.58;
}

.competition-copy h3 {
  margin: 16px 0 6px;
  color: var(--text);
  font-size: 16px;
}

.competition-copy h3:first-child {
  margin-top: 10px;
}

.competition-copy p {
  white-space: pre-wrap;
}

.inline-action-link {
  display: inline-flex;
  margin-left: 8px;
  color: var(--accent-2);
  font-weight: 900;
}

@media (max-width: 1100px) {
  .apply-grid {
    grid-template-columns: 1fr;
  }

  .apply-details-stack {
    position: static;
  }

  .application-player-row {
    grid-template-columns: 1fr 1fr;
  }

  .application-player-row button {
    width: 100%;
  }
}

@media (max-width: 720px) {

  .apply-page-topbar,
  .apply-topbar,
  .apply-hero-card,
  .team-account-callout {
    grid-template-columns: 1fr;
    flex-direction: column;
    align-items: stretch;
  }

  .apply-shell {
    width: calc(100% - 24px);
    margin-top: 16px;
  }

  .league-options-grid.two-col,
  .application-player-row {
    grid-template-columns: 1fr;
  }

  .existing-application-head,
  .existing-application-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .existing-team-grid {
    grid-template-columns: 1fr;
  }

  .existing-tournament-status {
    grid-template-columns: 1fr;
  }
  }
  
  
  .apply-public-page .apply-container {
    padding-top: 18px;
  }

  .apply-public-page .apply-shell {
    width: 100%;
    max-width: 1240px;
    margin: 0 auto 46px;
    gap: 20px;
  }

  .apply-public-page .apply-hero-card {
    grid-template-columns: minmax(0, 1fr) auto;
    min-height: 320px;
    padding: 30px;
    background:
      linear-gradient(90deg, rgba(2, 8, 20, .96) 0%, rgba(3, 18, 41, .88) 48%, rgba(5, 31, 62, .66) 100%),
      var(--apply-banner, url("/public/assets/logos/default-tournament-banner.svg")) center / cover no-repeat;
  }

  .apply-public-page .apply-hero-card:before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
      linear-gradient(135deg, rgba(0, 200, 255, .08), transparent 34%, rgba(255, 59, 118, .04)),
      linear-gradient(180deg, transparent, rgba(2, 8, 20, .22));
  }

  .apply-public-page .apply-hero-card > * {
    position: relative;
  }

  .apply-public-page .apply-hero-content {
    max-width: 780px;
    display: grid;
    gap: 10px;
  }

  .apply-public-page .apply-event-logo {
    width: 70px;
    height: 70px;
    border-radius: 18px;
    margin-bottom: 4px;
    font-size: 1.4rem;
  }

  .apply-public-page .apply-event-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .apply-public-page .apply-hero-card h1 {
    margin: 0;
    color: var(--text);
    font-size: clamp(3rem, 7vw, 6rem);
    line-height: .92;
    letter-spacing: -0.055em;
    text-shadow: 0 5px 0 rgba(0, 150, 255, .25), 0 25px 70px rgba(0, 0, 0, .35);
  }

  .apply-public-page .apply-hero-card p {
    margin: 0;
    max-width: 660px;
    color: var(--muted);
    line-height: 1.5;
    text-align: left;
  }

  .apply-public-page .apply-hero-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
  }

  .apply-public-page .apply-hero-meta span {
    border: 1px solid rgba(0, 200, 255, .16);
    border-radius: 999px;
    background: rgba(255, 255, 255, .05);
    color: #dbeafe;
    padding: 8px 11px;
    font-size: .8rem;
    font-weight: 800;
  }

  .apply-public-page .apply-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 4px;
  }

  .apply-public-page .apply-viewer-link {
    width: fit-content;
  }

  .apply-public-page .apply-submit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
  }

  .apply-public-page .rules-pill-button {
    border-radius: 999px;
    cursor: pointer;
    font-family: inherit;
  }

  .apply-public-page .rules-summary-pill {
    width: 100%;
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid rgba(0, 200, 255, .22);
    border-radius: 999px;
    background: rgba(0, 200, 255, .08);
    color: var(--text);
    padding: 12px 16px 12px 20px;
    cursor: pointer;
    font: inherit;
    text-align: left;
  }

  .apply-public-page .rules-summary-pill span {
    font-weight: 900;
  }

  .apply-public-page .rules-summary-pill small {
    flex: 0 0 auto;
    border-radius: 999px;
    background: rgba(255, 255, 255, .08);
    color: var(--blue2);
    padding: 7px 10px;
    font-size: .72rem;
    font-weight: 900;
  }

  .apply-public-page .competition-copy .muted {
    margin: 12px 0 0;
  }

  .apply-public-page .apply-status-pill {
    align-self: end;
    min-width: 120px;
    border-radius: 999px;
    padding: 12px 18px;
    background: linear-gradient(135deg, var(--blue2, #54d7ff), #57f0a6);
    color: #06101f;
    box-shadow: 0 18px 40px rgba(0, 157, 255, .22);
  }

  .apply-public-page .apply-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(340px, .8fr);
  }

  .apply-public-page .apply-form-card,
  .apply-public-page .competition-details-card {
    border-radius: 24px;
  }

  .apply-public-page .apply-form-card {
    padding: 18px;
  }

  .apply-public-page .section-head .muted {
    margin: 6px 0 0;
    color: var(--muted);
    line-height: 1.45;
  }

  .apply-public-page .team-account-callout {
    border-radius: 20px;
    background: rgba(4, 18, 40, .78);
  }

  .apply-public-page .team-account-callout .secondary-action {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
  }

  .apply-public-page .apply-submit-btn {
    display: inline-flex;
    margin-top: 10px;
    border: 0;
    cursor: pointer;
  }

  .apply-public-page .competition-detail-list {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  }

  .apply-public-page .competition-detail-item {
    background: rgba(255, 255, 255, .035);
  }

  .apply-public-page .confirm-check {
    cursor: pointer;
  }

  .rules-modal[hidden] {
    display: none;
  }

  .rules-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: grid;
    place-items: center;
    padding: 22px;
  }

  .rules-modal-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 4, 12, .76);
    backdrop-filter: blur(8px);
  }

  .rules-modal-card {
    position: relative;
    width: min(920px, 96vw);
    max-height: min(860px, 92vh);
    display: grid;
    grid-template-rows: auto minmax(260px, 1fr) auto auto;
    gap: 14px;
    border: 1px solid rgba(0, 200, 255, .28);
    border-radius: 24px;
    padding: 20px;
    background: linear-gradient(180deg, rgba(6, 20, 44, .98), rgba(3, 10, 24, .98));
    box-shadow: 0 34px 110px rgba(0, 0, 0, .55);
  }

  .rules-modal-head,
  .rules-modal-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
  }

  .rules-modal-head h2 {
    margin: 3px 0 0;
    color: var(--text);
  }

  .rules-modal-close {
    width: 38px;
    height: 38px;
    border-radius: 999px;
    border: 1px solid rgba(0, 200, 255, .22);
    background: rgba(255, 255, 255, .04);
    color: var(--text);
    font-weight: 900;
    cursor: pointer;
  }

  .rules-modal-body {
    overflow-y: auto;
    border: 1px solid rgba(0, 200, 255, .16);
    border-radius: 18px;
    padding: 18px;
    background: rgba(1, 10, 24, .82);
    color: var(--muted);
    line-height: 1.6;
    outline: none;
  }

  .rules-modal-body h3 {
    margin: 18px 0 8px;
    color: var(--text);
  }

  .rules-modal-body h3:first-child {
    margin-top: 0;
  }

  .rules-modal-body p {
    margin: 0 0 12px;
    white-space: pre-wrap;
  }

  .rules-modal-hint {
    margin: 0;
    color: var(--muted);
    font-weight: 800;
  }

  .rules-modal-actions {
    justify-content: flex-end;
  }

  .rules-modal-actions button:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
  }

  body.rules-modal-open {
    overflow: hidden;
  }

  @media (max-width: 900px) {
    .apply-public-page .apply-hero-card,
    .apply-public-page .apply-grid {
      grid-template-columns: 1fr;
    }

    .apply-public-page .apply-status-pill {
      align-self: start;
    }
  }

  @media (max-width: 720px) {
    .apply-public-page .apply-hero-card {
      min-height: 0;
      padding: 22px;
    }

    .apply-public-page .apply-hero-card h1 {
      font-size: clamp(2.4rem, 15vw, 4rem);
    }
  }


  /* TEAM PORTAL LOGIN POLISH */

.team-portal-login-layout {
  display: grid;
  grid-template-columns: minmax(420px, 0.95fr) minmax(320px, 0.55fr);
  gap: 22px;
  align-items: stretch;
}

.team-login-card,
.team-new-card {
  position: relative;
  overflow: hidden;
  border-color: rgba(0, 200, 255, 0.22);
  background:
    radial-gradient(circle at 88% 8%, rgba(0, 200, 255, 0.16), transparent 30%),
    linear-gradient(145deg, rgba(6, 27, 58, 0.92), rgba(3, 12, 28, 0.96));
}

.team-login-card {
  padding: 30px;
  min-height: 430px;
}

.team-login-card::before,
.team-new-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(0, 200, 255, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent 38%);
}

.team-login-card>*,
.team-new-card>* {
  position: relative;
  z-index: 1;
}

.team-login-card h2,
.team-new-card h2 {
  margin-bottom: 8px;
  font-size: clamp(26px, 3vw, 38px);
  letter-spacing: -0.035em;
  text-shadow: 0 4px 0 rgba(0, 0, 0, 0.28);
}

.team-login-card .muted,
.team-new-card .muted {
  max-width: 680px;
  margin: 0 0 18px;
  color: #b8d2ee;
  line-height: 1.55;
}

#teamLoginForm {
  gap: 18px;
  max-width: 720px;
  margin-top: 22px;
}

#teamLoginForm label {
  color: #cbe4ff;
  font-weight: 800;
}

#teamLoginForm input {
  min-height: 50px;
  border-radius: 15px;
  background: rgba(1, 12, 29, 0.78);
  border-color: rgba(0, 170, 255, 0.24);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

#teamLoginForm input:focus {
  border-color: rgba(0, 225, 255, 0.85);
  box-shadow: 0 0 0 4px rgba(0, 200, 255, 0.10);
}

.team-login-submit {
  min-height: 50px;
  margin-top: 4px;
  border-radius: 15px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.02em;
  background: linear-gradient(135deg, #13d7c4, #009dff);
  box-shadow: 0 18px 46px rgba(0, 157, 255, 0.24);
}

.team-new-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  min-height: 430px;
  padding: 30px;
}

.team-new-card .secondary-btn {
  width: fit-content;
  margin-top: 8px;
  padding: 13px 18px;
  border-radius: 999px;
  background: rgba(0, 157, 255, 0.14);
  border: 1px solid rgba(0, 200, 255, 0.32);
  color: #dff6ff;
  text-decoration: none;
  font-weight: 900;
}

.team-new-card .secondary-btn:hover {
  background: rgba(0, 200, 255, 0.2);
  border-color: rgba(0, 225, 255, 0.62);
}

.team-portal-login-layout+.team-portal-dashboard {
  margin-top: 0;
}

@media (max-width: 920px) {
  .team-portal-login-layout {
    grid-template-columns: 1fr;
  }

  .team-login-card,
  .team-new-card {
    min-height: auto;
  }
}

@media (max-width: 620px) {

  .team-login-card,
  .team-new-card {
    padding: 22px;
  }

  .apply-shell {
    width: min(100% - 24px, 1500px);
    margin-top: 18px;
  }
}


/* Team Portal game roster manager */
.team-game-rosters-list {
  display: grid;
  gap: 12px;
  max-height: 560px;
  overflow-y: auto;
  padding-right: 4px;
}

.team-game-roster-card {
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(6, 18, 36, 0.78);
  padding: 12px;
  min-width: 0;
}

.team-game-roster-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-width: 0;
}

.team-game-roster-toggle {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--text);
  display: grid;
  gap: 3px;
  text-align: left;
  cursor: pointer;
  min-width: 0;
  flex: 1;
}

.team-game-roster-toggle::before {
  content: "▾";
  color: var(--accent-2);
  font-size: 13px;
}

.team-game-roster-card.is-collapsed .team-game-roster-toggle::before {
  content: "▸";
}

.team-game-roster-title {
  font-weight: 800;
  font-size: 16px;
}

.team-game-roster-meta {
  color: var(--muted);
  font-size: 12px;
}

.team-game-roster-actions,
.team-game-roster-footer,
.team-game-roster-field-row {
  display: flex;
  align-items: end;
  gap: 8px;
  flex-wrap: wrap;
}

.team-game-roster-preview {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.team-game-roster-preview span {
  border: 1px solid rgba(56, 189, 248, 0.2);
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.08);
  color: var(--muted);
  font-size: 12px;
  padding: 4px 8px;
}

.team-game-roster-editor {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.team-game-roster-field-row label {
  flex: 1 1 260px;
}

.team-game-roster-card .player-row {
  grid-template-columns: minmax(150px, 1fr) minmax(150px, 1fr) minmax(120px, 0.7fr) minmax(150px, 1fr) auto;
}

.team-game-roster-save-row {
  margin-top: 12px;
}

@media (max-width: 980px) {
  .team-game-roster-card .player-row {
    grid-template-columns: 1fr;
  }

  .team-game-roster-summary {
    align-items: stretch;
    flex-direction: column;
  }

  .team-game-roster-actions {
    justify-content: flex-start;
  }
}


.competition-lifecycle-card {
  margin-top: 1rem;
  padding: 1rem;
  border: 1px solid rgba(0, 194, 255, 0.18);
  border-radius: 16px;
  background: rgba(2, 15, 34, 0.7);
}

.competition-stage-flow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.85rem 0;
}

.stage-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 999px;
  padding: 0.35rem 0.65rem;
  color: #b8c7dc;
  background: rgba(8, 20, 42, 0.9);
  font-size: 0.8rem;
  font-weight: 800;
}

.stage-chip.active {
  border-color: rgba(0, 194, 255, 0.8);
  color: #e9f8ff;
  box-shadow: 0 0 16px rgba(0, 194, 255, 0.16);
}

.stage-time-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-content: end;
  color: #b8c7dc;
  font-size: 0.85rem;
}

.stage-actions {
  flex-wrap: wrap;
}

.application-status.registration_open,
.application-status.checkin_open,
.application-status.live {
  color: #7dd3fc;
}

.application-status.registration_closed,
.application-status.checkin_closed,
.application-status.seeding,
.application-status.scheduled {
  color: #facc15;
}

.application-status.completed {
  color: #86efac;
}


.team-competition-card {
  align-items: flex-start;
  gap: 1rem;
}

.team-competition-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .6rem;
  min-width: 140px;
}

.team-checkin-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .6rem;
  margin-top: .75rem;
}

.team-checkin-btn {
  white-space: nowrap;
}


.application-checkin-row {
  display: flex;
  gap: 8px;
  margin: 8px 0;
  flex-wrap: wrap;
}

.checkin-status {
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  padding: 5px 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.02em;
  border: 1px solid rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.06);
}

.checkin-status.checked-in {
  color: var(--success);
  border-color: rgba(81, 255, 176, 0.35);
  background: rgba(81, 255, 176, 0.1);
}

.checkin-status.not-checked-in {
  color: var(--warning);
  border-color: rgba(213, 181, 140, 0.35);
  background: rgba(213, 181, 140, 0.1);
}

/* GLOBAL TEAM MANAGEMENT LAYOUT FIX
   Keep the Global Teams cards from inheriting the generic dashboard flex-card layout. */
.master-teams-page {
  padding: 24px;
}

.master-teams-shell {
  display: grid;
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  gap: 20px;
  align-items: stretch;
}

.master-teams-sidebar.dashboard-management-card,
.master-team-detail.dashboard-management-card {
  display: block;
  align-items: initial;
  justify-content: initial;
  min-height: 560px;
  margin-bottom: 0;
}

.master-teams-sidebar.dashboard-management-card {
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  gap: 18px;
  align-content: start;
}

.master-teams-sidebar .card-eyebrow,
.master-team-detail .card-eyebrow {
  margin: 0 0 8px;
}

.master-teams-sidebar h2,
.master-team-detail h2 {
  margin: 0 0 10px;
}

.master-team-filters {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
  margin: 0;
}

.master-team-filters label {
  display: grid;
  gap: 7px;
}

.master-team-filters input,
.master-team-filters select,
.master-team-filters button {
  width: 100%;
}

.master-team-list {
  display: grid;
  gap: 10px;
  max-height: 62vh;
  overflow: auto;
  padding-right: 4px;
  min-width: 0;
}

.master-team-row {
  width: 100%;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  text-align: left;
}

.master-team-summary {
  min-width: 0;
}

.master-team-detail.dashboard-management-card {
  padding: 28px;
}

.master-team-detail-header {
  display: flex;
  gap: 16px;
  align-items: center;
  margin-bottom: 20px;
}

@media (max-width: 980px) {
  .master-teams-shell {
    grid-template-columns: 1fr;
  }

  .master-team-list {
    max-height: none;
  }
}

.ladder-format-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 10px 0 12px;
  padding: 10px;
  border: 1px solid rgba(0, 198, 255, 0.22);
  border-radius: 12px;
  background: rgba(4, 16, 32, 0.7);
}

.ladder-format-column {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 5px 7px;
  border: 1px solid rgba(0, 198, 255, 0.22);
  border-radius: 999px;
  background: rgba(3, 24, 45, 0.78);
  color: #cfe9ff;
  font-size: 12px;
  font-family: inherit;
  cursor: pointer;
}

.ladder-format-column input[type="checkbox"] {
  width: 14px;
  height: 14px;
  accent-color: #00c6ff;
  cursor: pointer;
}

.ladder-format-column input[type="checkbox"]:disabled {
  cursor: not-allowed;
}


.ladder-format-column:has(input:checked) {
  border-color: rgba(0, 198, 255, 0.65);
  background: rgba(0, 111, 180, 0.82);
}

.ladder-format-column:has(input:not(:checked)) {
  border-color: rgba(130, 160, 190, 0.24);
  background: rgba(3, 12, 24, 0.72);
}

.ladder-format-column.is-locked-column {
  cursor: not-allowed;
  opacity: 0.82;
}

.ladder-column-state {
  min-width: 44px;
  padding: 2px 5px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  text-align: center;
}

.ladder-format-column.is-hidden-column,
.ladder-hidden-preview {
  opacity: 0.48;
}

.ladder-column-controls {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
  vertical-align: middle;
}

.ladder-column-toggle {
  display: inline-flex;
  align-items: center;
}

.ladder-column-toggle input,
.ladder-format-column input {
  margin: 0;
}

.ladder-th-inner {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}

.save-ladder-format-btn {
  margin-left: auto;
}

.inline-status {
  color: #2ee6ff;
  font-size: 12px;
  margin-left: 8px;
}

.tiny-btn {
  min-width: 22px;
  height: 22px;
  padding: 0 5px;
  border-radius: 999px;
  border: 1px solid rgba(0, 198, 255, 0.35);
  background: rgba(0, 40, 75, 0.75);
  color: #cfe9ff;
  cursor: pointer;
}

.tiny-btn:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.ladder-format-help {
  margin: -4px 0 10px;
  color: rgba(207, 233, 255, 0.78);
  font-size: 12px;
}

.ladder-table thead th {
  vertical-align: top;
}

.ladder-column-controls {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  margin-left: 6px;
  vertical-align: middle;
}

.ladder-column-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2px;
  min-width: 26px;
  height: 22px;
  padding: 0 4px;
  border: 1px solid rgba(0, 198, 255, 0.28);
  border-radius: 999px;
  background: rgba(0, 40, 75, 0.55);
  color: #cfe9ff;
}

.ladder-column-toggle input {
  width: 12px;
  height: 12px;
  margin: 0;
}

.ladder-th-inner {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
  flex-wrap: wrap;
}

.ladder-hidden-preview .ladder-th-inner {
  opacity: 0.55;
}


/* Compact editable ladder layout so all admin controls fit without horizontal scrolling. */
.editable-ladder-table-wrap {
  overflow-x: visible;
}

.editable-ladder-table {
  min-width: 0;
  table-layout: fixed;
  width: 100%;
}

.editable-ladder-table th,
.editable-ladder-table td {
  padding: 8px 6px;
  font-size: 12px;
}

.editable-ladder-table th {
  font-size: 11px;
  line-height: 1.15;
}

.editable-ladder-table .ladder-th-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  white-space: normal;
}

.editable-ladder-table .ladder-column-controls {
  margin-left: 0;
  gap: 2px;
  flex-wrap: nowrap;
}

.editable-ladder-table .tiny-btn,
.editable-ladder-table .ladder-column-toggle {
  min-width: 18px;
  height: 18px;
  padding: 0 3px;
  font-size: 10px;
  line-height: 1;
}

.editable-ladder-table .ladder-column-toggle input {
  width: 10px;
  height: 10px;
}

.editable-ladder-table .col-rank,
.editable-ladder-table .col-movement,
.editable-ladder-table .col-played,
.editable-ladder-table .col-points,
.editable-ladder-table .col-percent,
.editable-ladder-table .col-won,
.editable-ladder-table .col-lost,
.editable-ladder-table .col-drawn,
.editable-ladder-table .col-dq,
.editable-ladder-table .col-pf,
.editable-ladder-table .col-pa {
  width: 6%;
}

.editable-ladder-table .col-club {
  width: 17%;
}

.editable-ladder-table .col-form {
  width: 7%;
}

.editable-ladder-table .col-latest,
.editable-ladder-table .col-upNext {
  width: 8%;
}

.editable-ladder-table .ladder-club {
  overflow: hidden;
  text-overflow: ellipsis;
}

.editable-ladder-table .ladder-club strong,
.editable-ladder-table .col-latest,
.editable-ladder-table .col-upNext {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.editable-ladder-table .ladder-logo {
  width: 26px;
  height: 26px;
  min-width: 26px;
}

@media (max-width: 1280px) {
  .editable-ladder-table th,
  .editable-ladder-table td {
    padding: 7px 4px;
    font-size: 11px;
  }

  .editable-ladder-table th {
    font-size: 10px;
  }

  .editable-ladder-table .tiny-btn,
  .editable-ladder-table .ladder-column-toggle {
    min-width: 16px;
    height: 16px;
    padding: 0 2px;
  }
}


/* Compact editable ladder controls: keep the admin ladder inside the available viewport. */
.editable-ladder-table-wrap {
  overflow-x: hidden;
}

.editable-ladder-table {
  table-layout: fixed;
  width: 100%;
  min-width: 0 !important;
}

.editable-ladder-table th,
.editable-ladder-table td {
  padding: 6px 4px;
}

.editable-ladder-table .ladder-th-inner {
  gap: 2px;
}

.editable-ladder-table .tiny-btn,
.editable-ladder-table .ladder-column-toggle {
  min-width: 15px;
  width: 15px;
  height: 15px;
  padding: 0;
  font-size: 9px;
}

.editable-ladder-table .ladder-column-controls {
  gap: 1px;
}

.editable-ladder-table .col-rank,
.editable-ladder-table .col-movement {
  width: 5%;
}

.editable-ladder-table .col-club {
  width: 16%;
}

.editable-ladder-table .col-played,
.editable-ladder-table .col-points,
.editable-ladder-table .col-percent,
.editable-ladder-table .col-won,
.editable-ladder-table .col-lost,
.editable-ladder-table .col-drawn,
.editable-ladder-table .col-dq,
.editable-ladder-table .col-pf,
.editable-ladder-table .col-pa {
  width: 6%;
}

.editable-ladder-table .col-form {
  width: 6%;
}

.editable-ladder-table .col-latest,
.editable-ladder-table .col-upNext {
  width: 7%;
}


/* Ladder header controls polish: title + checkbox on top, arrows underneath. */
.editable-ladder-table .ladder-th-inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  white-space: normal;
}

.editable-ladder-table .ladder-column-controls {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
  margin-left: 0;
  width: 100%;
}

.editable-ladder-table .ladder-column-title-row {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-width: 0;
  max-width: 100%;
}

.editable-ladder-table .ladder-column-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.editable-ladder-table .ladder-column-arrow-row {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  min-width: 42px;
}

.editable-ladder-table .tiny-btn,
.editable-ladder-table .ladder-column-toggle {
  min-width: 20px;
  height: 20px;
  padding: 0 4px;
  font-size: 11px;
  line-height: 1;
}

.editable-ladder-table .ladder-column-toggle {
  flex: 0 0 auto;
  gap: 2px;
  cursor: pointer;
}

.editable-ladder-table .ladder-column-toggle input {
  width: 12px;
  height: 12px;
  cursor: pointer;
}

.editable-ladder-table .ladder-arrow-btn {
  cursor: pointer;
}

@media (max-width: 1280px) {
  .editable-ladder-table .tiny-btn,
  .editable-ladder-table .ladder-column-toggle {
    min-width: 18px;
    height: 18px;
    padding: 0 3px;
    font-size: 10px;
  }

  .editable-ladder-table .ladder-column-toggle input {
    width: 11px;
    height: 11px;
  }

  .editable-ladder-table .ladder-column-title-row {
    gap: 4px;
  }

  .editable-ladder-table .ladder-column-arrow-row {
    gap: 4px;
    min-width: 38px;
  }
}

/* Ladder checkbox fix: use only the native checkbox, bigger click target, no extra tick glyph. */
.editable-ladder-table .ladder-column-title-row {
  gap: 6px;
}

.editable-ladder-table .ladder-column-toggle {
  min-width: 22px;
  width: 22px;
  height: 22px;
  padding: 0;
  border-radius: 6px;
  background: transparent;
  border: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

.editable-ladder-table .ladder-column-toggle input {
  width: 16px;
  height: 16px;
  margin: 0;
  cursor: pointer;
  pointer-events: auto;
}

.editable-ladder-table .ladder-column-toggle span {
  display: none !important;
}

.editable-ladder-table .ladder-column-arrow-row {
  min-width: 48px;
  gap: 6px;
}

.editable-ladder-table .ladder-arrow-btn {
  min-width: 19px;
  width: 19px;
  height: 19px;
  padding: 0;
  font-size: 11px;
}

@media (max-width: 1280px) {
  .editable-ladder-table .ladder-column-toggle {
    min-width: 21px;
    width: 21px;
    height: 21px;
  }

  .editable-ladder-table .ladder-column-toggle input {
    width: 15px;
    height: 15px;
  }

  .editable-ladder-table .ladder-column-arrow-row {
    min-width: 44px;
    gap: 5px;
  }

  .editable-ladder-table .ladder-arrow-btn {
    min-width: 18px;
    width: 18px;
    height: 18px;
  }
}

.match-card-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}

.match-card-actions .ghost-btn {
  flex: 1;
}

.match-bo-select,
.match-bo-badge,
.match-bo-inline-select {
  display: inline-flex;
  align-items: center;
  margin-left: 6px;
  padding: 1px 7px;
  border-radius: 999px;
  background: rgba(84, 215, 255, 0.10);
  border: 1px solid rgba(84, 215, 255, 0.35);
  color: #c9eeff;
  font-size: 0.68rem;
  line-height: 1;
  font-weight: 800;
  height: 22px;
  cursor: pointer;
}

.match-bo-select option,
.match-bo-inline-select option {
  background: #071326;
  color: #eaf7ff;
}

.match-bo-badge {
  appearance: none;
  background: rgba(84, 215, 255, 0.10);
  border: 1px solid rgba(84, 215, 255, 0.35);
}

.match-bo-edit-btn,
.match-time-edit-btn {
  cursor: pointer;
}

.match-bo-inline-editor {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-left: 6px;
}

.match-bo-inline-select {
  height: 22px;
}

.match-lobby-details {
  margin-top: 8px;
  padding: 9px 10px;
  border: 1px solid rgba(84, 215, 255, 0.24);
  border-radius: 10px;
  background: rgba(3, 12, 25, 0.45);
}

.match-lobby-title {
  color: #54d7ff;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.match-lobby-row {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  font-size: 0.74rem;
  line-height: 1.4;
}

.match-lobby-row span {
  color: rgba(219, 237, 255, 0.68);
}

.match-lobby-row strong {
  color: #eaf7ff;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  text-align: right;
  overflow-wrap: anywhere;
}


.match-map-badge,
.match-map-edit-btn {
  border: 1px solid rgba(42, 189, 255, 0.45);
  background: rgba(42, 189, 255, 0.12);
  color: #d8f5ff;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
  cursor: pointer;
}

.match-map-inline-editor,
.round-map-selects {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.match-map-inline-select,
.round-map-select {
  min-width: 92px;
  max-width: 145px;
  height: 24px;
  border-radius: 8px;
  border: 1px solid rgba(42, 189, 255, 0.45);
  background: #071425;
  color: #d8f5ff;
  font-size: 11px;
}

.round-title-controls {
  flex-wrap: wrap;
}



/* Professional map scheduling layout */
.round-title-row {
  align-items: flex-start;
  gap: 18px;
}

.round-title-row h3 {
  max-width: 110px;
  line-height: 1.05;
}

.round-title-controls {
  flex: 1;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  min-width: 0;
}

.round-control-line,
.round-map-row {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.round-field-label,
.match-map-line-label {
  color: rgba(219, 237, 255, 0.72);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
}

.round-date-select,
.round-bo-select,
.round-map-select,
.match-map-inline-select {
  border: 1px solid rgba(42, 189, 255, 0.42);
  background: linear-gradient(180deg, rgba(7, 20, 37, 0.96), rgba(8, 27, 49, 0.96));
  color: #e8f7ff;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}

.round-map-selects {
  display: grid;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
  gap: 6px;
  width: 100%;
}

.round-map-select {
  width: 100%;
  max-width: none;
  height: 28px;
  padding: 4px 9px;
}

.round-map-empty {
  color: rgba(219, 237, 255, 0.55);
  font-size: 11px;
  font-weight: 800;
}

.match-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
}

.match-label-text {
  margin-right: 2px;
}

.match-map-line {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 7px;
  margin-bottom: 4px;
  padding: 6px 8px;
  border: 1px solid rgba(42, 189, 255, 0.18);
  border-radius: 10px;
  background: rgba(3, 12, 24, 0.28);
}

.match-map-badge,
.match-map-edit-btn {
  min-height: 22px;
  border-color: rgba(42, 189, 255, 0.55);
  background: rgba(42, 189, 255, 0.15);
  color: #e9faff;
}

.match-map-inline-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(112px, 1fr)) auto;
  gap: 6px;
  align-items: center;
  width: 100%;
}

.match-map-inline-select {
  width: 100%;
  max-width: none;
  height: 28px;
  padding: 4px 8px;
}

.match-card-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

@media (max-width: 1200px) {
  .round-map-selects,
  .match-map-inline-editor {
    grid-template-columns: 1fr;
  }

  .match-card-actions {
    grid-template-columns: 1fr;
  }
}


/* Refined schedule + map layout */
.bracket-preview {
  gap: 34px;
  align-items: flex-start;
}

.bracket-round {
  min-width: 430px;
  width: max-content;
  max-width: none;
}

.round-title-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: start;
  gap: 14px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid rgba(42, 189, 255, 0.20);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(14, 30, 52, 0.72), rgba(6, 16, 31, 0.58));
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}

.round-title-row h3 {
  max-width: none;
  margin: 0;
  color: #eef8ff;
  font-size: 17px;
  line-height: 1.08;
  letter-spacing: -0.02em;
}

.round-title-controls {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.round-control-line,
.round-map-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: start;
  gap: 8px;
}

.round-map-row {
  grid-template-columns: 48px minmax(0, 1fr);
}

.round-field-label,
.match-map-line-label {
  padding-top: 7px;
  color: rgba(219, 237, 255, 0.64);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.round-date-select,
.round-bo-select {
  height: 34px;
}

.round-date-select {
  width: 100%;
}

.round-bo-select {
  width: 88px;
}

.round-map-selects {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  width: 100%;
}

.map-select-item {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  width: 100%;
}

.map-select-item > span {
  color: rgba(219, 237, 255, 0.58);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.round-map-select,
.match-map-inline-select {
  width: 100%;
  min-width: 0;
  height: 32px;
  padding: 5px 10px;
  border-radius: 9px;
}

.match-card {
  gap: 10px;
  min-width: max-content;
  padding: 15px;
  border-radius: 18px;
  border-color: rgba(42, 189, 255, 0.20);
  background:
    linear-gradient(180deg, rgba(20, 33, 55, 0.92), rgba(10, 22, 39, 0.92));
  box-shadow: 0 14px 34px rgba(0, 0, 0, 0.18);
}

.match-title-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
}

.match-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}

.match-label-text {
  color: rgba(235, 247, 255, 0.84);
  font-weight: 950;
}

.match-map-line {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  margin: 8px 0 10px;
  padding: 9px;
  border-radius: 12px;
  border: 1px solid rgba(42, 189, 255, 0.18);
  background: rgba(3, 12, 24, 0.36);
}

.match-map-badge,
.match-map-edit-btn {
  width: 100%;
  min-height: 30px;
  padding: 5px 9px;
  border-radius: 11px;
  text-align: left;
  white-space: normal;
  cursor: pointer;
}

.match-map-empty-action {
  display: inline-flex;
  align-items: center;
  min-height: 20px;
  font-weight: 900;
}

.match-map-list {
  display: grid;
  gap: 5px;
  width: 100%;
}

.match-map-list-row {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-height: 22px;
}

.match-map-list-row b {
  color: rgba(219, 237, 255, 0.68);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.match-map-list-row em {
  color: #e9faff;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.match-map-inline-editor {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
  width: 100%;
}

.match-map-inline-editor .map-select-item {
  grid-template-columns: 58px minmax(0, 1fr);
}

.match-map-save-btn {
  justify-self: end;
  min-width: 82px;
}

@media (max-width: 1180px) {
  .bracket-round {
    min-width: 360px;
  }

  .round-title-row {
    grid-template-columns: 1fr;
  }
}


/* Game result entry */
#resultModal .modal-card {
  width: min(760px, 94vw);
}

.game-result-entry {
  display: grid;
  gap: 10px;
  width: 100%;
}

.game-result-header,
.game-result-row {
  display: grid;
  grid-template-columns: 90px minmax(160px, 1fr) 96px 96px;
  gap: 10px;
  align-items: center;
}

.game-result-header {
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.game-result-row {
  padding: 10px;
  border: 1px solid rgba(24, 178, 242, 0.24);
  border-radius: 12px;
  background: rgba(5, 15, 30, 0.55);
}

.game-result-number,
.game-result-map {
  font-weight: 800;
}

.game-result-map {
  color: var(--text);
}

.game-score-input {
  width: 100%;
  text-align: center;
}

.series-result-preview {
  margin-top: 6px;
  padding: 10px 12px;
  border: 1px solid rgba(35, 213, 255, 0.25);
  border-radius: 12px;
  background: rgba(35, 213, 255, 0.08);
  color: var(--accent);
  font-weight: 800;
}

.match-game-scores {
  margin: 10px 0 12px;
  padding: 10px 12px;
  border: 1px solid rgba(24, 178, 242, 0.22);
  border-radius: 12px;
  background: rgba(5, 18, 34, 0.62);
}

.match-game-scores-head,
.match-game-score-row {
  display: grid;
  grid-template-columns: 1fr 70px 70px;
  gap: 10px;
  align-items: center;
}

.match-game-scores-head {
  margin-bottom: 6px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.match-game-score-row {
  padding: 6px 0;
  color: var(--text);
  font-size: 12px;
}

.match-game-score-row strong {
  text-align: center;
  color: var(--accent);
}

@media (max-width: 700px) {
  .game-result-header,
  .game-result-row {
    grid-template-columns: 1fr 1fr;
  }
}


.match-score-header {
  display: grid;
  grid-template-columns: 22px minmax(180px, max-content) auto 44px;
  align-items: center;
  gap: 8px;
  margin: 8px 52px 6px 0;
  padding: 0 10px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.score-header-games {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 34px;
  gap: 6px;
  justify-content: end;
}

.score-header-games em {
  font-style: normal;
  text-align: center;
}

.match-team.selectable-team {
  display: grid;
  grid-template-columns: 22px minmax(180px, max-content) auto 44px;
  align-items: center;
}

.team-status-mark {
  color: var(--accent);
  font-weight: 900;
}

.team-name-with-seed {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
}
.team-name-with-seed,
.team-status-mark,
.team-series-score,
.team-game-score-strip,
.score-header-games {
  flex-shrink: 0;
}


.team-seed-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  padding: 2px 6px;
  border: 1px solid rgba(24, 178, 242, 0.28);
  border-radius: 999px;
  background: rgba(24, 178, 242, 0.10);
  color: var(--accent);
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
  flex: 0 0 auto;
}

.team-name-label {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.team-game-score-strip {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 34px;
  gap: 6px;
  justify-content: end;
  width: max-content;
}

.team-game-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 24px;
  padding: 2px 6px;
  border: 1px solid rgba(24, 178, 242, 0.22);
  border-radius: 8px;
  background: rgba(5, 15, 30, 0.65);
  color: var(--text);
  font-size: 12px;
  font-weight: 900;
  font-style: normal;
}

.team-series-score {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 900;
  font-style: normal;
}

@media (max-width: 900px) {
  .match-score-header {
    grid-template-columns: minmax(90px, 1fr) auto 34px 44px;
  }

  .match-team.selectable-team {
    grid-template-columns: 18px minmax(140px, max-content) auto 34px;
  }

  .score-header-games,
  .team-game-score-strip {
    grid-auto-columns: 28px;
    gap: 4px;
  }

  .team-game-score {
    min-height: 22px;
    padding: 2px 4px;
  }
}


/* Auto-height fix for SO/BO score rows */
.bracket-preview {
  align-items: flex-start;
}

.bracket-round {
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 390px;
}

.bracket-round > .match-card,
.match-card {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  align-self: stretch;
}

.match-card * {
  box-sizing: border-box;
}

.match-title-row,
.match-title-row > div,
.match-map-line,
.match-map-list,
.match-lobby-details,
.match-card-actions {
  min-width: 0;
  max-width: 100%;
}

.match-map-line {
  overflow: hidden;
}

.match-team-row {
  grid-template-columns: minmax(0, 1fr) 44px;
  width: 100%;
  min-width: 0;
}

.match-team.selectable-team {
  width: 100%;
  min-width: 0;
  grid-template-columns: 20px minmax(0, 1fr) minmax(0, auto) 34px;
  overflow: hidden;
}

.match-score-header {
  grid-template-columns: minmax(0, 1fr) minmax(0, auto) 34px;
  margin: 8px 52px 6px 0;
  min-width: 0;
}

.score-header-games,
.team-game-score-strip {
  min-width: 0;
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  grid-auto-columns: minmax(26px, 30px);
  scrollbar-width: thin;
}

.score-header-games {
  padding-bottom: 1px;
}

.team-game-score-strip {
  padding-bottom: 2px;
}

.team-game-score {
  min-width: 26px;
  min-height: 23px;
  padding: 2px 4px;
}

.team-series-score {
  min-width: 26px;
}

.match-lobby-details {
  clear: both;
  width: 100%;
}

@media (max-width: 1280px) {
  .bracket-round {
    min-width: 360px;
  }

  .match-team.selectable-team {
    grid-template-columns: 18px minmax(0, 1fr) minmax(0, auto) 30px;
  }

  .match-score-header {
    grid-template-columns: minmax(0, 1fr) minmax(0, auto) 30px;
  }

  .score-header-games,
  .team-game-score-strip {
    grid-auto-columns: minmax(24px, 28px);
    gap: 4px;
  }
}

/* Checkbox-backed ladder column pills */
.ladder-format-toolbar {
  align-items: center;
}

.ladder-format-toolbar-title {
  color: #b7c7d8;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-right: 4px;
}

.ladder-format-column {
  position: relative;
  cursor: pointer;
  user-select: none;
  padding: 0;
  overflow: hidden;
}

.ladder-format-column input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
  pointer-events: none;
}

.ladder-format-column span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 12px;
  border-radius: 999px;
  background: rgba(4, 18, 34, 0.92);
  color: #8ea8bd;
}

.ladder-format-column input:checked + span {
  background: linear-gradient(180deg, rgba(0, 126, 180, 0.92), rgba(0, 78, 125, 0.92));
  color: #ffffff;
}

.ladder-format-column:has(input:checked) {
  border-color: rgba(0, 198, 255, 0.62);
  box-shadow: inset 0 0 0 1px rgba(0, 198, 255, 0.12);
}

.ladder-format-column.is-hidden-column {
  opacity: 1;
}

.ladder-format-column.is-hidden-column span {
  background: rgba(3, 12, 24, 0.94);
  color: #65798a;
}


/* === League create wizard restore === */
.league-page .admin-content {
  display: grid;
  gap: 22px;
}

.league-page .section-tabs {
  padding: 0;
  margin: 0;
}

.league-page .league-layout {
  padding: 0;
  max-width: 1040px;
}

.league-page .form-card {
  width: 100%;
  max-width: 1040px;
  padding: 24px;
  border-radius: 20px;
  background:
    radial-gradient(circle at top left, rgba(0, 200, 255, 0.10), transparent 30%),
    rgba(16, 24, 39, 0.94);
}

.wizard-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  margin-bottom: 20px;
}

.wizard-head h2 {
  margin-bottom: 6px;
  font-size: 26px;
}

.wizard-subtitle,
.wizard-section-title p {
  margin: 0;
  color: var(--muted);
}

.wizard-progress {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.wizard-step-pill {
  border: 1px solid rgba(0, 170, 255, 0.24);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(7, 23, 50, 0.78);
  color: var(--muted);
  font-weight: 800;
  cursor: pointer;
}

.wizard-step-pill span {
  display: inline-grid;
  place-items: center;
  min-width: 22px;
  height: 22px;
  margin-right: 6px;
  border-radius: 999px;
  background: rgba(0, 200, 255, 0.12);
  color: var(--accent-2);
}

.wizard-step-pill.active {
  background: rgba(0, 157, 255, 0.22);
  color: var(--text);
  border-color: rgba(0, 200, 255, 0.75);
  box-shadow: 0 0 0 1px rgba(0, 200, 255, 0.15), 0 0 24px rgba(0, 157, 255, 0.18);
}

.league-wizard-form {
  display: grid;
  gap: 20px;
}

.league-wizard-panel {
  display: grid;
  gap: 16px;
}

.wizard-section-title {
  display: grid;
  gap: 6px;
  margin-bottom: 4px;
}

.wizard-section-title h3 {
  margin: 0;
  font-size: 20px;
}

.league-page input,
.league-page select,
.league-page textarea {
  width: 100%;
  border: 1px solid rgba(0, 170, 255, 0.28);
  border-radius: 12px;
  background: rgba(3, 14, 34, 0.88);
  color: var(--text);
  padding: 12px 14px;
  outline: none;
}

.league-page textarea {
  min-height: 74px;
  resize: vertical;
}

.league-page input:focus,
.league-page select:focus,
.league-page textarea:focus {
  border-color: var(--accent-2);
  box-shadow: 0 0 0 3px rgba(0, 200, 255, 0.12);
}

.league-options-grid {
  display: grid;
  gap: 12px;
}

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

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

@media (max-width: 900px) {
  .wizard-head {
    display: grid;
  }

  .wizard-progress {
    justify-content: flex-start;
  }

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

/* === Global teams uses the same Control Hub shell spacing === */
.admin-content .master-teams-page {
  padding: 0;
}

.admin-content .master-teams-shell {
  grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
}


/* Teams Database detail cards */
.team-card-detailed {
  align-items: flex-start;
  gap: 14px;
}

.team-logo-large {
  width: 76px;
  height: 76px;
  flex: 0 0 76px;
}

.team-logo-large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.team-title-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.team-title-row h3 {
  margin: 0;
}

.team-meta-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 8px 0;
}

.team-meta-item {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  border: 1px solid rgba(14, 165, 233, 0.35);
  border-radius: 999px;
  background: rgba(3, 24, 43, 0.72);
  color: var(--muted, #b8c7d9);
  padding: 4px 9px;
  font-size: 0.82rem;
}

.team-meta-item strong {
  color: var(--text, #f5f8ff);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.team-roster-detail {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 8px;
}

.roster-pill-detail {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  padding: 5px 9px;
}

.roster-pill-detail small {
  color: var(--muted, #b8c7d9);
  font-size: 0.72rem;
}

.team-notes {
  margin: 8px 0 0;
  color: var(--muted, #b8c7d9);
}

@media (max-width: 760px) {
  .team-card-detailed {
    grid-template-columns: auto 1fr;
  }

  .team-card-detailed .team-actions {
    grid-column: 1 / -1;
    width: 100%;
    justify-content: flex-start;
  }
}


/* Dashboard coordinated loading */
.dashboard-page--booting {
  opacity: .58;
}
.dashboard-page--booting::before {
  content: "Loading dashboard…";
  display: block;
  margin: 0 0 16px;
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.04);
  color: var(--muted, #9ca3af);
  font-size: .95rem;
}


.danger-zone {
  border-color: rgba(255, 77, 109, 0.45);
}

.danger-zone h3 {
  color: #ffb3c1;
}



.team-danger-zone {
  margin-top: 18px;
  border-color: rgba(255, 82, 82, .35);
}

.team-delete-account-form {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  align-items: start;
}

.team-delete-logo-wrap {
  min-height: 96px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(0, 0, 0, .18);
  overflow: hidden;
}

.team-delete-logo {
  width: 96px;
  height: 96px;
  object-fit: contain;
}

.team-delete-logo-fallback {
  color: var(--muted, #9fb1c7);
  font-weight: 800;
  text-align: center;
  padding: 10px;
}

@media (max-width: 720px) {
  .team-delete-account-form {
    grid-template-columns: 1fr;
  }
}



/* Cleaner Teams / Applications review UI */
#applicationApprovalsSection {
  max-width: min(1280px, 100%) !important;
}

#applicationApprovalsSection .applications-summary-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: 10px;
  margin: 14px 0 16px;
}

#applicationApprovalsSection .applications-summary-grid strong {
  display: grid;
  gap: 4px;
  min-height: 72px;
  padding: 13px 14px;
  border: 1px solid rgba(0, 170, 255, 0.2);
  border-radius: 16px;
  background: linear-gradient(180deg, rgba(6, 24, 52, 0.9), rgba(2, 12, 28, 0.78));
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

#applicationApprovalsSection .applications-summary-grid strong span {
  color: var(--text);
  font-size: 26px;
  line-height: 1;
  letter-spacing: -0.04em;
}

#applicationApprovalsSection {
  max-width: min(1500px, 100%) !important;
}

#applicationApprovalsSection .applications-list {
  grid-template-columns: 1fr;
  max-height: none;
  overflow: visible;
  gap: 14px;
}

.application-card {
  padding: 0;
  overflow: hidden;
  border-color: rgba(0, 170, 255, 0.22);
  background:
    linear-gradient(135deg, rgba(7, 23, 50, 0.92), rgba(2, 10, 24, 0.94));
}

.application-card-top {
  display: grid;
  grid-template-columns: 66px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border-bottom: 1px solid rgba(0, 170, 255, 0.14);
}

.application-logo {
  width: 66px;
  height: 66px;
  border-radius: 16px;
  background: rgba(2, 8, 20, 0.92);
  border: 1px solid rgba(0, 170, 255, 0.22);
  font-size: 18px;
  font-weight: 900;
}

.application-team-heading {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.application-title-row {
  justify-content: flex-start;
  min-width: 0;
}

.application-title-row strong {
  font-size: 19px;
  line-height: 1.15;
}

.application-title-row small {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(56, 189, 248, 0.1);
  color: var(--accent-2);
  font-size: 11px;
  font-weight: 900;
}

.application-card-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}

.application-card .checkin-status {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.application-card .checkin-status.checked-in {
  background: rgba(81, 255, 176, 0.12);
  color: var(--success);
  border: 1px solid rgba(81, 255, 176, 0.22);
}

.application-card .checkin-status.not-checked-in {
  background: rgba(213, 181, 140, 0.12);
  color: var(--warning);
  border: 1px solid rgba(213, 181, 140, 0.22);
}

.application-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
}

.application-info-block,
.application-roster-block,
.application-notes-block {
  border: 1px solid rgba(0, 170, 255, 0.14);
  border-radius: 14px;
  background: rgba(2, 12, 28, 0.44);
}

.application-info-block {
  display: grid;
  gap: 6px;
  padding: 12px;
}

.application-info-block span,
.application-block-label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.application-info-block strong {
  color: var(--text);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.application-roster-block,
.application-notes-block {
  margin: 0 14px 14px;
  padding: 12px;
}

.application-roster-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 9px;
}

.application-roster-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  max-width: 100%;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(0, 157, 255, 0.12);
  color: #dff6ff;
  border: 1px solid rgba(0, 170, 255, 0.18);
  font-size: 12px;
}

.application-roster-pill small {
  color: var(--muted);
  font-weight: 800;
}

.application-roster-pill.muted-pill {
  color: var(--muted);
}

.application-notes-block p {
  margin: 8px 0 0;
  color: #d8e8fa;
  font-size: 13px;
  line-height: 1.45;
}

.application-card-actions {
  justify-content: flex-end;
  flex-wrap: wrap;
}

.application-card-actions button {
  min-width: 92px;
}

/* Standalone applications page readability */
.applications-admin-grid {
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  align-items: start;
}

.application-review-card {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 16px;
  border: 1px solid rgba(0, 170, 255, 0.22);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(7, 23, 50, 0.92), rgba(2, 10, 24, 0.94));
}

.application-logo-box {
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(0, 170, 255, 0.22);
  border-radius: 16px;
  background: rgba(2, 8, 20, 0.92);
  font-weight: 900;
}

.application-logo-box img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.application-meta-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0;
}

.application-meta-grid span {
  padding: 9px 10px;
  border: 1px solid rgba(0, 170, 255, 0.14);
  border-radius: 12px;
  background: rgba(2, 12, 28, 0.44);
  color: var(--muted);
  font-size: 13px;
  overflow-wrap: anywhere;
}

.application-meta-grid strong {
  color: #dff6ff;
}

.application-review-main h3 {
  margin-bottom: 4px;
}

.application-review-main p {
  color: var(--muted);
}

.application-roster-list {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

@media (max-width: 900px) {
  .application-card-top,
  .application-review-card,
  .applications-admin-grid {
    grid-template-columns: 1fr;
  }

  .application-info-grid,
  .application-meta-grid {
    grid-template-columns: 1fr;
  }

  .application-logo,
  .application-logo-box {
    width: 58px;
    height: 58px;
  }

  .application-card-actions {
    justify-content: flex-start;
  }
}


/* Tournament / League Management dashboard */
.management-dashboard-host {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, .85fr);
  gap: 18px;
  margin-bottom: 18px;
}

.management-overview-card,
.management-activity-card {
  border: 1px solid rgba(0, 174, 255, .28);
  background: rgba(4, 18, 38, .72);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
}

.management-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.management-hero h2 {
  margin: 4px 0 6px;
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.management-hero p {
  margin: 0;
  color: var(--muted-text, #b8c6da);
}

.eyebrow {
  margin: 0;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: #29c7ff;
  font-weight: 800;
  font-size: calc(.72rem * var(--preview-font-scale));
}

.management-quick-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin: 16px 0;
}

.management-quick-grid > div {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
  border-radius: 12px;
  padding: 12px;
}

.management-quick-grid strong {
  display: block;
  color: #fff;
  font-size: 1.05rem;
  line-height: 1.2;
}

.management-quick-grid span {
  display: block;
  color: var(--muted-text, #b8c6da);
  font-size: .78rem;
  margin-top: 4px;
}

.management-link-row,
.admin-access-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.management-admins,
.management-communication-box {
  margin-top: 16px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 16px;
}

.management-admins h3,
.management-communication-box h3 {
  margin: 0 0 10px;
}

.admin-access-pill {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0, 174, 255, .13);
  border: 1px solid rgba(0, 174, 255, .34);
  color: #eaf7ff;
  font-weight: 700;
  font-size: .82rem;
}

.management-communication-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border: 1px dashed rgba(255,255,255,.16);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255,255,255,.035);
}

.management-communication-box p {
  margin: 0;
  color: var(--muted-text, #b8c6da);
}

.activity-log-list {
  display: grid;
  gap: 10px;
  max-height: 520px;
  overflow: auto;
  padding-right: 4px;
}

.activity-log-row {
  display: grid;
  grid-template-columns: 92px 110px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.08);
}

.activity-log-row span,
.activity-log-row small {
  color: var(--muted-text, #b8c6da);
  font-size: .78rem;
}

.activity-log-row strong {
  color: #fff;
  font-size: .82rem;
}

.activity-log-row p {
  margin: 0;
  color: #eaf2ff;
  font-size: .86rem;
}

.activity-log-row small {
  display: block;
  margin-top: 4px;
}

@media (max-width: 1100px) {
  .management-dashboard-host,
  .management-quick-grid {
    grid-template-columns: 1fr;
  }

  .activity-log-row {
    grid-template-columns: 1fr;
  }
}

.stage-chip-button {
  cursor: pointer;
  font-family: inherit;
}

.stage-chip-button:hover,
.stage-chip-button:focus-visible {
  border-color: rgba(0, 194, 255, 0.75);
  color: #ffffff;
  outline: none;
}

.competition-header-actions {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.recovery-stage-actions {
  border-top: 1px solid rgba(148, 163, 184, 0.14);
  margin-top: 0.85rem;
  padding-top: 0.85rem;
}


/* Drag-and-drop seeding list */
.seeding-team-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.seed-order-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 100%;
  max-width: 920px;
}

.seed-order-row {
  display: grid;
  grid-template-columns: 44px 70px 64px minmax(220px, 1fr) auto;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 76px;
  padding: 12px;
  border: 1px solid rgba(0, 183, 255, 0.28);
  border-radius: 16px;
  background: rgba(8, 20, 38, 0.92);
  cursor: grab;
  transition: transform 0.12s ease, border-color 0.12s ease, background 0.12s ease;
}

.seed-order-row.dragging {
  opacity: 0.55;
  cursor: grabbing;
}

.seed-drag-handle {
  width: 36px;
  height: 36px;
  border: 1px solid rgba(0, 183, 255, 0.4);
  border-radius: 10px;
  background: rgba(0, 20, 40, 0.7);
  color: #d8f4ff;
  font-size: 20px;
  cursor: grab;
  display: grid;
  place-items: center;
  user-select: none;
}

.seed-rank {
  font-size: 18px;
  font-weight: 900;
  color: #00b7ff;
}

.seed-row-logo {
  width: 54px;
  height: 54px;
  border: 1px solid rgba(0, 183, 255, 0.35);
  border-radius: 13px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(0, 12, 28, 0.9);
  font-weight: 900;
}

.seed-row-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

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

.seed-row-main strong,
.seed-row-main span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.seed-row-main strong {
  font-size: 17px;
  color: #f4f8ff;
}

.seed-row-main span {
  color: #b8c6db;
  margin-top: 3px;
}

.seed-row-actions {
  display: flex;
  gap: 8px;
  justify-content: flex-end;
  flex-wrap: wrap;
}

.compact-seed-btn {
  min-width: 38px;
  padding: 8px 10px;
}

@media (max-width: 760px) {
  .seed-order-row {
    grid-template-columns: 38px 56px 52px 1fr;
  }

  .seed-row-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}}


/* Team seeding: make each team a full-width horizontal row and keep Remove inside the row */
#teamSeedingSection .teams-grid,
#teamSeedingSection .seed-order-list {
  width: 100%;
  max-width: none;
}

#teamSeedingSection .seed-order-row {
  grid-template-columns: 44px 70px 64px minmax(0, 1fr) auto;
  width: 100%;
}

#teamSeedingSection .seed-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: nowrap;
}

#teamSeedingSection .remove-seeded-team-btn {
  position: static;
  top: auto;
  right: auto;
  min-width: 82px;
  padding: 8px 12px;
  font-size: 12px;
}

@media (max-width: 760px) {
  #teamSeedingSection .seed-order-row {
    grid-template-columns: 38px 56px 52px minmax(0, 1fr);
  }

  #teamSeedingSection .seed-row-actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}


/* Team seeding: compact full-width rows with team details + roster chips */
#teamSeedingSection .teams-grid,
#teamSeedingSection .seed-order-list {
  width: 100%;
  max-width: none;
}

#teamSeedingSection .seed-order-list {
  gap: 0;
  overflow: hidden;
  border: 1px solid rgba(0, 183, 255, 0.22);
  border-radius: 18px;
  background: rgba(4, 14, 32, 0.35);
}

#teamSeedingSection .seed-order-row {
  grid-template-columns: 50px 78px 84px minmax(0, 1fr) auto;
  min-height: 78px;
  width: 100%;
  padding: 10px 20px;
  gap: 18px;
  border-width: 0 0 1px 0;
  border-radius: 0;
  background: linear-gradient(90deg, rgba(7, 24, 48, 0.96), rgba(5, 17, 37, 0.96));
}

#teamSeedingSection .seed-order-row:first-child {
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
}

#teamSeedingSection .seed-order-row:last-child {
  border-bottom: 0;
  border-bottom-left-radius: 18px;
  border-bottom-right-radius: 18px;
}

#teamSeedingSection .seed-row-logo {
  width: 60px;
  height: 60px;
  border-radius: 14px;
}

#teamSeedingSection .seed-rank {
  font-size: 22px;
}

#teamSeedingSection .seed-team-title {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

#teamSeedingSection .seed-team-title strong {
  display: inline;
  font-size: 18px;
  line-height: 1.15;
}

#teamSeedingSection .seed-team-tag {
  display: inline-flex;
  align-items: center;
  max-width: 120px;
  padding: 3px 10px;
  border: 1px solid rgba(0, 183, 255, 0.25);
  border-radius: 8px;
  background: rgba(0, 91, 170, 0.24);
  color: #cfe4ff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}

#teamSeedingSection .seed-team-roster {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  margin-top: 8px;
}

#teamSeedingSection .seed-roster-label {
  color: #aebed6;
  font-size: 13px;
}

#teamSeedingSection .seed-roster-chips {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  flex-wrap: wrap;
}

#teamSeedingSection .seed-player-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  max-width: 140px;
  padding: 3px 10px;
  border: 1px solid rgba(0, 183, 255, 0.18);
  border-radius: 999px;
  background: rgba(0, 31, 72, 0.72);
  color: #d8e7ff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  white-space: nowrap;
}

#teamSeedingSection .seed-player-chip span {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 999px;
  background: #00b7ff;
  box-shadow: 0 0 8px rgba(0, 183, 255, 0.65);
}

#teamSeedingSection .seed-roster-empty {
  color: #aebed6;
  font-size: 13px;
}

#teamSeedingSection .seed-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: nowrap;
  margin-left: auto;
}

#teamSeedingSection .compact-seed-btn {
  min-width: 42px;
  min-height: 42px;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 900;
}

#teamSeedingSection .remove-seeded-team-btn {
  position: static;
  top: auto;
  right: auto;
  min-width: 110px;
  color: #ff8b8b;
  border-color: rgba(255, 59, 92, 0.75);
  font-size: 13px;
}

@media (max-width: 900px) {
  #teamSeedingSection .seed-order-row {
    grid-template-columns: 44px 62px 64px minmax(0, 1fr);
  }

  #teamSeedingSection .seed-row-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}

@media (max-width: 620px) {
  #teamSeedingSection .seed-order-row {
    grid-template-columns: 38px 54px 56px minmax(0, 1fr);
    gap: 10px;
    padding: 10px;
  }

  #teamSeedingSection .seed-row-logo {
    width: 52px;
    height: 52px;
  }

  #teamSeedingSection .seed-team-roster {
    align-items: flex-start;
    flex-direction: column;
  }

  #teamSeedingSection .seed-row-actions {
    justify-content: flex-start;
  }
}


.team-portal-logout-row {
  width: min(1460px, calc(100% - 48px));
  margin: -6px auto 12px;
  display: flex;
  justify-content: flex-end;
}

.apply-page-heading {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto 18px;
}


.management-dashboard-host {
  grid-template-columns: minmax(420px, 1.25fr) minmax(300px, .75fr) minmax(360px, .95fr);
  align-items: stretch;
}

.management-chat-card {
  border: 1px solid rgba(0, 174, 255, .28);
  background:
    radial-gradient(circle at top right, rgba(0, 119, 255, .16), transparent 42%),
    rgba(4, 18, 38, .74);
  border-radius: 16px;
  padding: 18px;
  box-shadow: 0 16px 40px rgba(0,0,0,.18);
  min-width: 0;
}

.online-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  padding: 6px 10px;
  background: rgba(16, 40, 78, .9);
  color: #eaf6ff;
  font-size: .78rem;
  font-weight: 800;
  white-space: nowrap;
}

.online-pill::after {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #38e36b;
  box-shadow: 0 0 14px rgba(56, 227, 107, .75);
}

.notification-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 10px;
  padding: 4px;
  background: rgba(0,0,0,.18);
  margin: 14px 0 16px;
}

.notification-tabs button {
  border: 0;
  border-radius: 8px;
  padding: 9px 8px;
  color: #dcecff;
  background: transparent;
  font: inherit;
  font-weight: 700;
  cursor: default;
}

.notification-tabs button.active {
  color: #fff;
  background: linear-gradient(135deg, #0ba9ff, #005eea);
  box-shadow: 0 6px 18px rgba(0, 105, 255, .3);
}

.send-notice-card {
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  padding: 14px;
  background: rgba(255,255,255,.045);
  margin-bottom: 12px;
}

.send-notice-heading {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  margin-bottom: 10px;
}

.send-notice-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
}

.send-notice-row input {
  width: 100%;
  min-width: 0;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  background: rgba(5, 16, 34, .9);
  color: #fff;
  padding: 12px;
  font: inherit;
}

.send-notice-row input::placeholder {
  color: rgba(220, 235, 255, .58);
}

.notification-feed-list {
  display: grid;
  gap: 10px;
  max-height: 470px;
  overflow: auto;
  padding-right: 2px;
}

.notification-feed-item,
.notification-feed-empty {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  padding: 12px;
  background: rgba(255,255,255,.045);
}

.notification-feed-empty {
  grid-template-columns: 1fr;
  color: var(--muted-text, #b8c6da);
}

.notification-feed-empty strong {
  color: #fff;
}

.notification-feed-icon {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  display: inline-grid;
  place-items: center;
  background: linear-gradient(135deg, #13b8ff, #075de8);
  color: #fff;
  box-shadow: 0 8px 18px rgba(0, 91, 255, .28);
}

.notification-feed-icon.announcement,
.notification-feed-item.announcement .notification-feed-icon {
  background: linear-gradient(135deg, #18c5ff, #0865e9);
}

.notification-feed-item.checkin .notification-feed-icon {
  background: linear-gradient(135deg, #55e77f, #0f9d4f);
}

.notification-feed-item.result .notification-feed-icon {
  background: linear-gradient(135deg, #a963ff, #6b2ce2);
}

.notification-feed-item.update .notification-feed-icon {
  background: linear-gradient(135deg, #ffd047, #b88409);
}

.notification-feed-item.system .notification-feed-icon {
  background: linear-gradient(135deg, #ff6666, #c8323d);
}

.notification-feed-body {
  min-width: 0;
}

.notification-feed-meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: start;
  margin-bottom: 5px;
}

.notification-feed-meta strong {
  color: #2ed0ff;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .035em;
}

.notification-feed-meta span,
.notification-feed-body small {
  color: var(--muted-text, #b8c6da);
  font-size: calc(.75rem * var(--preview-font-scale));
  white-space: nowrap;
}

.notification-feed-body p {
  margin: 0 0 4px;
  color: #f4f8ff;
  font-size: .86rem;
  line-height: 1.35;
}

@media (max-width: 1500px) {
  .management-dashboard-host {
    grid-template-columns: minmax(0, 1fr) minmax(340px, .85fr);
  }

  .management-chat-card {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .notification-tabs,
  .send-notice-row {
    grid-template-columns: 1fr;
  }

  .notification-feed-meta {
    display: block;
  }
}

/* Admin chat/notifications refinement */
.management-dashboard-host {
  grid-template-columns: minmax(420px, 0.95fr) minmax(520px, 1.35fr);
  align-items: stretch;
}

.management-chat-card {
  grid-column: auto;
}

.management-chat-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.notification-tabs button {
  cursor: pointer;
}

.notification-feed-item.activity {
  border-color: rgba(0, 174, 255, .16);
  background: rgba(0, 174, 255, .045);
}

.notification-feed-list {
  max-height: 540px;
}

@media (max-width: 1500px) {
  .management-dashboard-host {
    grid-template-columns: minmax(0, 1fr);
  }

  .management-chat-card {
    grid-column: auto;
  }
}

@media (max-width: 760px) {
  .management-chat-actions {
    justify-content: flex-start;
  }
}



/* League management layout refinement */
.teams-applications-shell {
  display: block;
  width: 100%;
}

.competition-lifecycle-host {
  margin-bottom: 18px;
}

.competition-lifecycle-card--timeline {
  margin-top: 0;
  padding: 18px;
  border: 1px solid rgba(0, 194, 255, 0.28);
  background:
    radial-gradient(circle at top left, rgba(0, 194, 255, 0.12), transparent 35%),
    rgba(4, 18, 38, 0.78);
  border-radius: 18px;
}

.competition-stage-timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(92px, 1fr));
  gap: 10px;
  margin: 18px 0 8px;
  padding: 4px 0;
}

.competition-stage-timeline::before {
  content: "";
  position: absolute;
  left: 7%;
  right: 7%;
  top: 36px;
  height: 4px;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.2);
  box-shadow: 0 0 18px rgba(0, 194, 255, 0.12);
}

.stage-step {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: center;
  gap: 7px;
  border: 0;
  background: transparent;
  color: #b8c7dc;
  font: inherit;
  font-weight: 800;
  cursor: pointer;
  text-align: center;
  min-width: 0;
}

.stage-step-node {
  width: 58px;
  height: 58px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 5px solid rgba(148, 163, 184, 0.24);
  background: rgba(9, 20, 38, 0.96);
  color: #d6e5f6;
  font-size: 1.25rem;
  box-shadow: 0 0 0 7px rgba(2, 15, 34, 0.7), inset 0 0 18px rgba(255, 255, 255, 0.04);
}

.stage-step.complete .stage-step-node {
  border-color: rgba(34, 197, 94, 0.72);
  color: #86efac;
  box-shadow: 0 0 0 7px rgba(2, 15, 34, 0.7), 0 0 24px rgba(34, 197, 94, 0.28);
}

.stage-step.active .stage-step-node {
  border-color: rgba(59, 130, 246, 0.95);
  color: #7dd3fc;
  box-shadow: 0 0 0 7px rgba(2, 15, 34, 0.7), 0 0 28px rgba(59, 130, 246, 0.45);
}

.stage-step-label {
  color: #f4f8ff;
  font-size: 0.9rem;
}

.stage-step-state {
  color: #b8c7dc;
  font-size: 0.78rem;
}

.stage-step.complete .stage-step-state {
  color: #4ade80;
}

.stage-step.active .stage-step-state {
  color: #38bdf8;
}

.management-dashboard-host {
  display: grid;
  grid-template-columns: minmax(360px, 0.42fr) minmax(560px, 1fr);
  gap: 18px;
  align-items: stretch;
  margin-bottom: 18px;
}

.management-overview-card,
.management-chat-card {
  min-height: 0;
}

.management-chat-card {
  display: flex;
  flex-direction: column;
  min-height: calc(100vh - 190px);
}

.management-chat-card .notification-tabs,
.management-chat-card .send-notice-card {
  flex: 0 0 auto;
}

.notification-feed-list {
  flex: 1 1 auto;
  max-height: none;
  min-height: 420px;
  overflow: auto;
}

.management-overview-card {
  align-self: start;
}

@media (max-width: 1200px) {
  .management-dashboard-host,
  .competition-stage-timeline {
    grid-template-columns: 1fr;
  }

  .competition-stage-timeline::before {
    display: none;
  }

  .stage-step {
    grid-template-columns: 58px 1fr auto;
    justify-items: start;
    text-align: left;
  }

  .management-chat-card {
    min-height: 680px;
  }
}


/* Requested admin management layout overrides */
#seedingPanel .teams-applications-shell {
  display: block !important;
  max-width: 1500px;
  width: 100%;
}

/* Chat feed sizing requested from devtools changes */
.notification-feed-list {
  display: grid;
  gap: 10px;
  max-height: 470px;
  overflow: auto;
  padding-right: 2px;
  min-height: 0;
  flex: initial;
}

/* League management clean UI rearrangement */
#seedingPanel .teams-applications-shell {
  display: block !important;
  max-width: 1500px;
  width: 100%;
}

#seedingPanel .competition-lifecycle-host {
  margin-bottom: 14px;
}

#seedingPanel .competition-lifecycle-card--timeline {
  padding: 20px 22px 16px;
}

#seedingPanel .competition-stage-timeline {
  margin-top: 2px;
  margin-bottom: 18px;
}

#seedingPanel .competition-stage-timeline::before {
  top: 33px;
}

#seedingPanel .stage-time-summary-inline {
  display: none;
}

#seedingPanel .recovery-stage-actions {
  margin-top: 0;
  padding-top: 12px;
}

#seedingPanel .management-dashboard-host {
  display: grid;
  grid-template-columns: minmax(300px, 0.34fr) minmax(0, 1fr);
  gap: 14px;
  align-items: stretch;
  max-width: 1500px;
}

#seedingPanel .management-overview-card--compact {
  padding: 14px;
  align-self: start;
}

#seedingPanel .management-overview-card--compact .management-quick-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 0;
}

#seedingPanel .management-overview-card--compact .management-link-row {
  display: grid;
  grid-template-columns: 1fr;
}

#seedingPanel .management-overview-card--compact .secondary-btn {
  justify-content: center;
}

#seedingPanel .management-admins {
  margin-top: 14px;
  padding-top: 14px;
}

#seedingPanel .management-chat-card--feed {
  height: calc(100vh - 370px);
  min-height: 520px;
  max-height: 760px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

#seedingPanel .management-chat-card--feed .notification-tabs {
  margin-top: 0;
}

#seedingPanel .management-chat-card--feed .send-notice-card {
  margin-bottom: 10px;
}

#seedingPanel .management-chat-card--feed .notification-feed-list {
  flex: 1 1 auto;
  min-height: 260px;
  max-height: none;
  overflow-y: auto;
  overflow-x: hidden;
}

@media (max-width: 1100px) {
  #seedingPanel .management-dashboard-host {
    grid-template-columns: 1fr;
  }

  #seedingPanel .management-chat-card--feed {
    height: auto;
    min-height: 620px;
    max-height: none;
  }
}


.checkin-timer-pill {
  margin: 18px auto 0;
  width: fit-content;
  min-width: 240px;
  padding: 12px 18px;
  border: 1px solid rgba(0, 194, 255, 0.45);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(0, 194, 255, 0.16), rgba(0, 108, 255, 0.16));
  box-shadow: 0 0 24px rgba(0, 194, 255, 0.12);
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}

.checkin-timer-pill span,
.checkin-live-pill span {
  color: var(--muted, #a9b8d8);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.checkin-timer-pill strong {
  color: #20d7ff;
  font-size: 1.15rem;
}

.checkin-timer-pill.expired {
  border-color: rgba(255, 87, 111, 0.55);
  background: rgba(255, 87, 111, 0.12);
}

.checkin-timer-pill.expired strong {
  color: #ff6b82;
}

.checkin-live-pill {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(0, 194, 255, 0.28);
  border-radius: 14px;
  background: rgba(0, 24, 52, 0.52);
  display: grid;
  gap: 4px;
}

.checkin-live-pill strong {
  color: #dff6ff;
  font-size: 0.95rem;
}

.checkin-live-pill.ready {
  border-color: rgba(47, 230, 126, 0.55);
  background: rgba(47, 230, 126, 0.12);
  box-shadow: 0 0 24px rgba(47, 230, 126, 0.10);
}

.checkin-live-pill.ready strong,
.checkin-live-pill.ready span {
  color: #43f289;
}

.checkin-live-pill.waiting strong {
  color: #20d7ff;
}

.checkin-live-pill.muted {
  opacity: 0.74;
}


/* Team Portal live competition runtime */
.team-run-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.team-run-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.team-comp-checklist {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.team-comp-checklist span {
  border: 1px solid rgba(0, 209, 255, .24);
  border-radius: 999px;
  padding: 6px 10px;
  color: var(--muted, #b9c7df);
  background: rgba(255,255,255,.04);
  font-size: .86rem;
  font-weight: 800;
}

.team-comp-checklist span.is-done {
  border-color: rgba(55, 255, 174, .5);
  color: #37ffae;
}

.team-comp-checklist span.is-live {
  border-color: rgba(0, 209, 255, .7);
  color: #00d1ff;
  box-shadow: 0 0 22px rgba(0, 209, 255, .16);
}

.team-run-block {
  border-top: 1px solid rgba(0, 209, 255, .16);
  padding-top: 12px;
}

.team-run-block h4 {
  margin: 0 0 10px;
  color: #fff;
}

.team-live-match-card {
  border: 1px solid rgba(0, 209, 255, .2);
  border-radius: 16px;
  background: rgba(2, 12, 30, .55);
  padding: 12px 14px;
  margin-top: 10px;
}

.team-live-match-card.status-live {
  border-color: rgba(0, 209, 255, .62);
  box-shadow: 0 0 28px rgba(0, 209, 255, .12);
}

.team-live-match-top,
.team-live-match-meta,
.team-broadcast-row,
.team-game-score-row,
.team-match-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
}

.team-live-match-top {
  justify-content: space-between;
  color: #00d1ff;
  font-size: .78rem;
  font-weight: 900;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.team-live-match-score {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  margin: 10px 0;
}

.team-live-match-score strong:last-child {
  text-align: right;
}

.team-live-match-score b {
  color: #00d1ff;
  font-size: 1.2rem;
  white-space: nowrap;
}

.team-live-match-meta {
  color: var(--muted, #b9c7df);
  font-size: .86rem;
}

.team-match-pills span,
.team-game-score-row span {
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  padding: 4px 8px;
  color: #d9e6ff;
  font-size: .78rem;
}

.team-broadcast-row {
  margin-top: 10px;
  justify-content: space-between;
  color: #d9e6ff;
}

.team-watch-btn {
  min-height: 30px;
  padding: 6px 12px;
}

.team-roster-details {
  color: var(--muted, #b9c7df);
}

.team-roster-details summary {
  cursor: pointer;
  color: #fff;
  font-weight: 900;
}

@media (max-width: 760px) {
  .team-run-head {
    flex-direction: column;
  }

  .team-live-match-score {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .team-live-match-score strong:last-child {
    text-align: left;
  }
}


.team-lobby-box {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(0, 229, 255, .22);
  border-radius: 14px;
  background: rgba(0, 229, 255, .06);
}

.team-lobby-box span {
  display: block;
  font-size: calc(.72rem * var(--preview-font-scale));
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--muted, #9bb7d7);
}

.team-lobby-box strong {
  display: block;
  margin-top: 3px;
  color: var(--text, #fff);
}

.team-lobby-box small,
.team-lobby-empty {
  color: var(--muted, #9bb7d7);
}

.team-result-submit {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  background: rgba(255,255,255,.035);
}

.team-result-submit summary {
  cursor: pointer;
  font-weight: 800;
}

.team-result-form {
  display: grid;
  gap: 12px;
  margin-top: 12px;
}

.team-result-games {
  display: grid;
  gap: 8px;
}

.team-result-game-row {
  display: grid;
  grid-template-columns: 90px minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
  align-items: end;
}

.team-result-game-row span {
  font-weight: 800;
  color: var(--cyan, #00e5ff);
}

.team-result-game-row input {
  width: 100%;
}

.team-run-locked {
  border-style: dashed;
  opacity: .9;
}

.result-submission-card .card-header strong {
  font-size: 1.4rem;
  color: var(--cyan, #00e5ff);
}

@media (max-width: 720px) {
  .team-result-game-row {
    grid-template-columns: 1fr;
  }
}


/* Team Portal functional overview redesign */
.team-portal-dashboard{max-width:1680px;margin:0 auto;}
.team-portal-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px;align-items:start;}
.team-portal-side-nav{position:sticky;top:18px;min-height:calc(100vh - 36px);border:1px solid rgba(0,174,255,.28);background:linear-gradient(180deg,rgba(2,19,43,.92),rgba(1,13,29,.96));border-radius:18px;padding:22px;box-shadow:0 18px 50px rgba(0,0,0,.28);}
.team-portal-side-brand{display:flex;gap:12px;align-items:center;padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid rgba(0,174,255,.18);}
.team-avatar,.team-overview-logo{display:grid;place-items:center;border-radius:999px;background:linear-gradient(135deg,#1689ff,#0b54d9);color:#fff;font-weight:900;box-shadow:0 0 24px rgba(0,130,255,.35);}
.team-avatar{width:44px;height:44px;}
.team-portal-side-brand span{display:block;color:#9fb4d7;font-size:.82rem;}
.team-portal-nav{display:grid;gap:10px;}
.team-portal-nav-btn{width:100%;text-align:left;border:1px solid transparent;background:transparent;color:#d7e5ff;border-radius:12px;padding:14px 16px;font-weight:800;cursor:pointer;}
.team-portal-nav-btn:hover,.team-portal-nav-btn.is-active{border-color:#00c8ff;background:linear-gradient(90deg,rgba(0,200,255,.18),rgba(0,106,255,.08));box-shadow:inset 3px 0 0 #00c8ff;}
.team-portal-content{min-width:0;}
.team-portal-panel{display:none;}
.team-portal-panel.is-active{display:block;}
.team-overview-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:12px;background:linear-gradient(135deg,rgba(2,23,54,.96),rgba(1,12,31,.94));}
.team-overview-hero h2{font-size:2rem;margin:4px 0;}
.team-overview-external{min-width:190px;text-align:center;}
.team-overview-status-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin-bottom:12px;padding:16px 22px;}
.team-overview-status-strip>div{padding:0 18px;border-left:1px solid rgba(148,180,220,.18);}
.team-overview-status-strip>div:first-child{border-left:0;padding-left:0;}
.team-overview-status-strip span{display:block;color:#9fb4d7;font-size:.82rem;margin-bottom:6px;}
.team-overview-status-strip strong{display:block;color:#fff;}
.team-live-pill{display:inline-block!important;width:max-content;border-radius:7px;padding:4px 9px;background:rgba(0,230,140,.18);color:#19ff9b!important;border:1px solid rgba(25,255,155,.25);text-transform:uppercase;font-size:.78rem;}
.team-overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.team-overview-card{min-height:210px;background:linear-gradient(135deg,rgba(2,23,54,.94),rgba(1,12,31,.92));}
.team-overview-card-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;}
.team-overview-card-head h3{margin:0;font-size:1.08rem;}
.team-overview-versus{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;text-align:center;margin:12px 0 20px;}
.team-overview-versus>div{display:grid;gap:10px;justify-items:center;}
.team-overview-versus b{font-size:1.35rem;color:#fff;}
.team-overview-versus small{display:block;color:#aebbd2;font-size:.78rem;font-weight:600;margin-top:4px;}
.team-overview-logo{width:76px;height:76px;font-size:2rem;border:4px solid rgba(255,255,255,.09);}
.team-overview-mini-meta{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.06);border:1px solid rgba(58,139,255,.22);border-radius:10px;overflow:hidden;margin-bottom:12px;}
.team-overview-mini-meta span{padding:10px 12px;background:rgba(0,20,48,.72);color:#9fb4d7;font-size:.78rem;}
.team-overview-mini-meta strong{color:#fff;font-size:.88rem;}
.team-overview-full-btn{width:100%;justify-content:center;text-align:center;}
.team-overview-details{display:grid;gap:8px;margin:0;}
.team-overview-details div{display:grid;grid-template-columns:145px 1fr;align-items:center;gap:12px;background:rgba(255,255,255,.045);border-radius:8px;padding:9px 12px;}
.team-overview-details dt{color:#9fb4d7;}
.team-overview-details dd{margin:0;color:#fff;font-weight:800;display:flex;gap:10px;align-items:center;justify-content:space-between;}
.team-copy-btn{border:1px solid rgba(0,200,255,.35);background:rgba(0,136,255,.12);color:#bfeaff;border-radius:8px;padding:5px 9px;cursor:pointer;}
.team-overview-recent-row{display:grid;grid-template-columns:1fr auto 1fr auto;gap:12px;align-items:center;padding:12px;border:1px solid rgba(58,139,255,.18);border-radius:10px;background:rgba(0,20,48,.5);margin-bottom:8px;}
.team-overview-recent-row b{color:#fff;font-size:1.1rem;}
.team-overview-recent-row span{color:#9fb4d7;font-size:.78rem;}
.team-overview-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.team-overview-link-grid .secondary-btn{text-align:center;justify-content:center;}
.team-overview-action-card{grid-column:1 / -1;min-height:0;}
.team-action-list{display:grid;gap:10px;}
.team-action-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;padding:13px 14px;border:1px solid rgba(85,156,255,.2);border-radius:10px;background:rgba(0,20,48,.56);}
.team-action-item strong{display:block;color:#fff;font-size:.98rem;}
.team-action-item span{display:block;margin-top:4px;color:#9fb4d7;font-size:.84rem;line-height:1.35;}
.team-action-item .primary-btn,.team-action-item .secondary-btn{min-height:34px;padding:8px 12px;white-space:nowrap;}
.team-action-item.is-urgent{border-color:rgba(255,204,92,.5);background:linear-gradient(135deg,rgba(255,184,60,.12),rgba(0,28,64,.58));}
.team-action-item.is-urgent strong{color:#ffe08a;}
.team-action-item.is-ready{border-color:rgba(57,255,166,.35);}
.team-action-item.is-waiting{border-color:rgba(0,200,255,.28);}
.team-action-item.is-setup{border-color:rgba(156,127,255,.32);}
.team-comp-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.team-comp-info-grid>div{min-width:0;border:1px solid rgba(0,209,255,.16);border-radius:12px;background:rgba(255,255,255,.035);padding:12px;}
.team-comp-info-grid span{display:block;color:#8fdcff;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;}
.team-comp-info-grid strong{display:block;color:#fff;font-size:.95rem;margin-bottom:6px;}
.team-comp-info-grid p{margin:0;color:#aebbd2;font-size:.84rem;line-height:1.4;}

@media (max-width:1100px){
  .team-portal-shell{grid-template-columns:1fr;}
  .team-portal-side-nav{position:static;min-height:auto;}
  .team-portal-nav{grid-template-columns:repeat(2,minmax(0,1fr));}
  .team-overview-status-strip,.team-overview-grid{grid-template-columns:1fr;}
  .team-comp-info-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .team-overview-status-strip>div{border-left:0;border-top:1px solid rgba(148,180,220,.18);padding:12px 0;}
  .team-overview-status-strip>div:first-child{border-top:0;}
}
@media (max-width:700px){
  .team-overview-hero{display:grid;}
  .team-portal-nav{grid-template-columns:1fr;}
  .team-overview-versus,.team-overview-mini-meta,.team-overview-details div,.team-overview-recent-row,.team-overview-link-grid{grid-template-columns:1fr;}
  .team-action-item,.team-comp-info-grid{grid-template-columns:1fr;}
  .team-action-item .primary-btn,.team-action-item .secondary-btn{width:100%;justify-content:center;text-align:center;}
}



/* COMMAND CENTER DASHBOARD REFRESH */
.command-topbar {
  min-height: 88px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 28px;
  background: rgba(2, 8, 20, 0.92);
  border-bottom: 1px solid rgba(0, 200, 255, 0.18);
}

.command-brand {
  display: flex;
  align-items: center;
  gap: 16px;
}

.command-logo-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  font-weight: 900;
  color: #fff;
  background: linear-gradient(135deg, #0077ff, #00d5ff);
  box-shadow: 0 0 28px rgba(0, 157, 255, 0.35);
}

.command-kicker {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 13px;
}

.command-org-switcher {
  min-width: 390px;
  display: flex;
  align-items: end;
  gap: 12px;
  padding: 10px;
  border: 1px solid rgba(0, 170, 255, 0.18);
  border-radius: 14px;
  background: rgba(7, 16, 34, 0.84);
}

.command-org-switcher label {
  flex: 1;
  gap: 4px;
}

.command-org-switcher label span {
  font-size: 11px;
  letter-spacing: .06em;
}

.command-org-switcher select {
  padding: 8px 10px;
  border-radius: 10px;
}

.command-shell {
  grid-template-columns: 286px 1fr;
}

.command-sidebar {
  padding: 18px 16px;
  background: rgba(3, 12, 28, 0.78);
  border-right: 1px solid rgba(0, 170, 255, 0.12);
}

.command-nav {
  gap: 6px;
}

.nav-section-label {
  margin: 18px 10px 8px;
  color: #8da9c9;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.command-nav .admin-sidebar-link {
  position: relative;
  min-height: 45px;
  border-radius: 10px;
}

.nav-badge {
  margin-left: auto;
  min-width: 25px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(151, 71, 255, .28);
  color: #d8b5ff;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(151, 71, 255, .3);
}

.nav-badge-warning {
  background: rgba(245, 158, 11, .18);
  color: #ffd58a;
  border-color: rgba(245, 158, 11, .42);
}

.nav-badge-danger {
  background: rgba(239, 68, 68, .18);
  color: #ffb4b4;
  border-color: rgba(239, 68, 68, .42);
}

.nav-badge-info {
  background: rgba(59, 130, 246, .18);
  color: #b8d3ff;
  border-color: rgba(59, 130, 246, .42);
}


.command-help-card {
  margin-top: auto;
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 2px 10px;
  align-items: center;
  padding: 14px;
  text-decoration: none;
  color: var(--text);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.025);
}

.command-help-card small {
  grid-column: 2;
  color: var(--muted);
}

.command-content {
  padding: 0;
}

.command-dashboard {
  padding: 28px;
  display: grid;
  gap: 18px;
}

.command-status-line {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  color: var(--muted);
}

.command-status-line .card-eyebrow {
  margin-right: auto;
}

.system-live-dot,
.live-pill::before {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 99px;
  background: var(--success);
  box-shadow: 0 0 18px rgba(81,255,176,.65);
}

.command-metric-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 16px;
}

.org-metric-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.command-metric-card,
.command-panel,
.command-summary-grid article {
  border: 1px solid rgba(0, 170, 255, 0.15);
  background:
    linear-gradient(145deg, rgba(10, 24, 50, .86), rgba(2, 8, 20, .78));
  border-radius: 16px;
  box-shadow: 0 22px 60px rgba(0,0,0,.22);
}

.command-metric-card {
  padding: 20px;
  min-height: 128px;
  position: relative;
  overflow: hidden;
}

.command-metric-card::after {
  content: "";
  position: absolute;
  inset: auto -40px -55px auto;
  width: 120px;
  height: 120px;
  border-radius: 999px;
  background: rgba(0, 157, 255, .12);
  filter: blur(2px);
}

.command-metric-card span {
  display: inline-grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: var(--accent-2);
  background: rgba(0,157,255,.12);
  border: 1px solid rgba(0,157,255,.18);
  font-weight: 900;
}

.command-metric-card p {
  margin: 14px 0 8px;
  color: var(--muted);
  font-weight: 800;
}

.command-metric-card strong {
  display: block;
  font-size: 34px;
  line-height: 1;
}

.command-metric-card small {
  display: block;
  margin-top: 6px;
  color: var(--success);
}

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

.command-grid-master {
  grid-template-columns: 1.35fr .9fr .75fr .85fr;
}

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

.command-panel {
  padding: 18px;
  overflow: hidden;
}

.command-panel-wide {
  grid-column: span 1;
}

.command-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.command-panel h2 {
  margin: 8px 0 10px;
}

.queue-list {
  display: grid;
  gap: 0;
  margin: 12px 0 16px;
}

.queue-list p,
.system-health p,
.activity-list p {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,.06);
}

.queue-pill {
  padding: 6px 10px;
  border-radius: 999px;
  color: #e7c8ff;
  font-size: 12px;
  font-weight: 900;
  background: rgba(151, 71, 255, .24);
  border: 1px solid rgba(151, 71, 255, .32);
}

.queue-pill.warning {
  color: #ffbd6c;
  background: rgba(255, 137, 22, .2);
  border-color: rgba(255, 137, 22, .32);
}

.warning-btn {
  background: rgba(255, 137, 22, .2);
  color: #ffad42;
  border: 1px solid rgba(255, 137, 22, .36);
}

.system-health strong {
  color: var(--success);
  font-size: 13px;
}

.activity-chart {
  position: relative;
  height: 210px;
  margin-top: 18px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(0,157,255,.08), rgba(0,0,0,.05));
}

.chart-grid {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size: 100% 25%, 14.2% 100%;
}

.chart-line {
  position: absolute;
  left: 6%;
  right: 6%;
  height: 3px;
  border-radius: 999px;
  transform-origin: left center;
}

.chart-line-blue {
  top: 42%;
  background: linear-gradient(90deg, #009dff, #51c8ff);
  transform: rotate(-7deg);
  box-shadow: 0 0 24px rgba(0,157,255,.55);
}

.chart-line-green {
  top: 62%;
  background: linear-gradient(90deg, #00d181, #51ffb0);
  transform: rotate(-10deg);
  box-shadow: 0 0 24px rgba(81,255,176,.35);
}

.chart-line-orange {
  top: 78%;
  background: linear-gradient(90deg, #ff8c00, #ffbd4a);
  transform: rotate(-6deg);
  box-shadow: 0 0 24px rgba(255,140,0,.35);
}

.chart-legend {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 12px;
  color: var(--muted);
  font-size: 12px;
}

.live-pill {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--success);
  font-size: 12px;
  font-weight: 800;
}

.activity-list span {
  color: var(--muted);
  font-size: 12px;
}

.command-summary-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

.command-summary-grid article {
  padding: 18px;
}

.command-summary-grid span,
.command-summary-grid small {
  display: block;
  color: var(--muted);
}

.command-summary-grid strong {
  display: block;
  margin: 6px 0;
  font-size: 24px;
}

.command-summary-grid small {
  color: var(--success);
}

.mini-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.mini-stats p {
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
}

.mini-stats strong,
.mini-stats span {
  display: block;
}

.mini-stats strong {
  font-size: 26px;
}

.mini-stats span {
  color: var(--muted);
  font-size: 12px;
}

.bug-submit-panel {
  margin-top: 4px;
}

.bug-submit-panel .bug-report-form {
  display: grid;
  gap: 14px;
}

.role-dashboard {
  display: grid;
  gap: 18px;
}

@media (max-width: 1380px) {
  .command-metric-grid,
  .command-summary-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .command-grid-master,
  .org-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 960px) {
  .command-shell {
    grid-template-columns: 1fr;
  }

  .command-sidebar {
    position: static;
  }

  .command-topbar,
  .command-org-switcher {
    flex-direction: column;
    align-items: stretch;
  }

  .command-metric-grid,
  .command-summary-grid,
  .command-grid-master,
  .org-grid {
    grid-template-columns: 1fr;
  }
}


/* Phase 2 Operations Panels */
.ops-notifications-panel .activity-list p,
.ops-audit-panel .activity-list p {
  align-items: flex-start;
}

.ops-notifications-panel .activity-list small,
.ops-audit-panel .activity-list small {
  grid-column: 1 / -1;
  color: var(--muted);
  line-height: 1.45;
  margin-top: 4px;
}

.ops-notifications-panel .activity-list p.is-unread {
  border-color: rgba(0, 200, 255, 0.45);
  background: rgba(0, 157, 255, 0.12);
}

.runtime-stats {
  margin-top: 8px;
}

.registry-scope-card {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}
.registry-scope-card h2 {
  margin: 4px 0 6px;
}
.registry-scope-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.registry-scope-actions button.active {
  background: linear-gradient(135deg, rgba(0, 194, 255, .28), rgba(0, 255, 209, .16));
  border-color: rgba(0, 194, 255, .65);
  color: #eaffff;
}
.registry-source-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(0, 194, 255, .24);
  background: rgba(0, 194, 255, .08);
  color: rgba(224, 243, 255, .88);
  font-size: 12px;
}
@media (max-width: 780px) {
  .registry-scope-card {
    display: grid;
  }
}


.team-portal-generator {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(0, 212, 255, 0.18);
  border-radius: 14px;
  background: rgba(2, 12, 28, 0.42);
}

.team-portal-generator h4 {
  margin: 0 0 4px;
  color: #f8fbff;
}

.team-portal-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  align-items: end;
  margin-top: 10px;
}

.team-portal-grid input {
  width: 100%;
}

@media (max-width: 1100px) {
  .team-portal-grid {
    grid-template-columns: 1fr;
  }
}


/* Overlay style UX refresh: clearer sections, default Bracketr theme, and font examples */
.overlay-style-workflow {
  display: grid;
  grid-template-columns: minmax(280px, 1.1fr) minmax(280px, .9fr);
  gap: 14px;
  margin: 14px 0 16px;
}

.overlay-config-panel,
.overlay-preview-panel {
  padding: 14px;
  border: 1px solid rgba(74, 222, 255, .16);
  border-radius: 18px;
  background: rgba(7, 16, 32, .62);
}

.overlay-config-grid {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 10px;
  align-items: end;
}

.overlay-config-grid .style-field:nth-of-type(2) {
  grid-column: 1;
}

.overlay-config-grid .primary-btn {
  grid-column: 2;
}

.overlay-config-panel .message {
  display: block;
  margin-top: 10px;
}

.simplified-style-layout {
  grid-template-columns: 1fr;
}

.simplified-style-layout .style-editor-card {
  border-color: rgba(75, 95, 130, .42);
  background: rgba(6, 15, 30, .74);
  box-shadow: none;
}

.simplified-style-layout .style-editor-title {
  color: #c9f3ff;
}

.overlay-mini-preview {
  min-height: 138px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  border: 1px solid rgba(84, 215, 255, .2);
  background:
    radial-gradient(circle at 25% 20%, rgba(84, 215, 255, .14), transparent 28%),
    linear-gradient(135deg, rgba(17, 23, 51, .96), rgba(2, 8, 23, .96));
}

.preview-stage {
  width: min(100%, 520px);
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 10px;
  align-items: center;
  padding: 16px;
  border-radius: 16px;
  border: 1px solid rgba(84, 215, 255, .28);
  background: rgba(2, 8, 23, .78);
  color: #fff;
  text-align: center;
}

.preview-stage .preview-pill,
.preview-stage small {
  grid-column: 1 / -1;
}

.preview-stage .preview-pill {
  justify-self: center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(84, 215, 255, .45);
  color: #54d7ff;
  font-size: .7rem;
  font-weight: 950;
  letter-spacing: .12em;
}

.preview-stage strong {
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}

.preview-stage em {
  color: #54d7ff;
  font-style: normal;
  font-weight: 950;
}

.preview-stage small {
  color: #b8bfd6;
  font-weight: 800;
}

.font-example-details {
  margin-top: 12px;
  padding-top: 12px;
}

.font-preview-list {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.font-preview-row {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border: 1px solid rgba(75, 95, 130, .45);
  border-radius: 12px;
  background: rgba(2, 8, 23, .58);
}

.font-preview-row strong {
  color: #fff;
  font-size: .98rem;
}

.font-preview-row span {
  color: #9edfff;
  font-size: .78rem;
  letter-spacing: .08em;
}

@media (max-width: 900px) {
  .overlay-style-workflow,
  .overlay-config-grid {
    grid-template-columns: 1fr;
  }

  .overlay-config-grid .style-field:nth-of-type(2),
  .overlay-config-grid .primary-btn {
    grid-column: auto;
  }

  .preview-stage {
    grid-template-columns: 1fr;
  }
}


/* Overlay live preview mirrors the real bracket overlay and responds live to style controls */
.bracket-mini-preview {
  --preview-font: "Arial Black", Arial, sans-serif;
  --preview-text: #ffffff;
  --preview-board: #111733;
  --preview-bo: #54d7ff;
  --preview-round: #54d7ff;
  --preview-line: #54d7ff;
  --preview-game: #b8bfd6;
  --preview-match: #b8bfd6;
  --preview-card-accent: #54d7ff;
  --preview-card-bg: #030816;
  --preview-card-accent-width: 5px;
  --preview-pill-bg: #10162d;
  --preview-pill-text: #ffffff;
  --preview-winner: #ffe08a;
  --preview-font-scale: 1;
  --preview-card-radius: 0px;
  --preview-pan-x: 0px;
  --preview-pan-y: 0px;
  position: relative;
  min-height: 230px;
  overflow: hidden;
  padding: 0;
  border-radius: 18px;
  background: var(--preview-board);
  cursor: grab;
  user-select: none;
  touch-action: none;
  font-family: var(--preview-font);
  display: grid;
  place-items: center;
}

.bracket-mini-preview .mini-bracket-bg {
  position: absolute;
  inset: -2px;
  opacity: .74;
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.09) 0 1px, transparent 1px 30px),
    linear-gradient(90deg, var(--preview-board), #1b0b42);
  pointer-events: none;
}

.bracket-mini-preview[data-bg-pattern="clean"] .mini-bracket-bg {
  background: linear-gradient(135deg, var(--preview-board), color-mix(in srgb, var(--preview-board) 82%, #10162d 18%));
}

.bracket-mini-preview[data-bg-pattern="spotlight"] .mini-bracket-bg {
  background:
    radial-gradient(circle at 20% 18%, color-mix(in srgb, var(--preview-line) 30%, transparent), transparent 28%),
    radial-gradient(circle at 84% 20%, color-mix(in srgb, var(--preview-card-accent) 24%, transparent), transparent 30%),
    linear-gradient(135deg, var(--preview-board), color-mix(in srgb, var(--preview-board) 75%, #22114a 25%));
}

.bracket-mini-preview[data-bg-pattern="diagonal"] .mini-bracket-bg,
.bracket-mini-preview[data-bg-pattern="default"] .mini-bracket-bg {
  background:
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--preview-line) 16%, transparent) 0 1px, transparent 1px 30px),
    linear-gradient(90deg, color-mix(in srgb, var(--preview-board) 72%, #023246 28%), color-mix(in srgb, var(--preview-board) 78%, #240b42 22%));
}

.bracket-mini-preview[data-bg-pattern="diamond"] .mini-bracket-bg {
  background:
    linear-gradient(45deg, color-mix(in srgb, var(--preview-line) 12%, transparent) 25%, transparent 25%),
    linear-gradient(-45deg, color-mix(in srgb, var(--preview-line) 12%, transparent) 25%, transparent 25%),
    linear-gradient(135deg, var(--preview-board), color-mix(in srgb, var(--preview-board) 75%, #241052 25%));
  background-size: 34px 34px, 34px 34px, auto;
}

.bracket-mini-preview[data-pattern-motion="moving"] .mini-bracket-bg {
  animation: miniPreviewDrift 14s linear infinite;
}

@keyframes miniPreviewDrift {
  from { background-position: 0 0, 0 0, 0 0; }
  to { background-position: 80px 80px, 0 0, 0 0; }
}

.mini-bracket-stage {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  width: 840px;
  min-height: 230px;
  transform: translate(calc(-50% + var(--preview-pan-x)), calc(-50% + var(--preview-pan-y))) scale(calc(.62 * var(--preview-zoom, 1)));
  transform-origin: center center;
  padding: 20px 24px 22px;
  color: var(--preview-text);
}

.bracket-mini-preview .mini-bracket-head,
.bracket-mini-preview .mini-bracket-grid {
  position: relative;
  z-index: 1;
}

.mini-bracket-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 22px;
  margin-bottom: 24px;
}

.mini-event-lockup {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.mini-event-logo {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 10px;
  border: 1px solid color-mix(in srgb, var(--preview-line) 45%, transparent);
  background: linear-gradient(135deg, color-mix(in srgb, var(--preview-line) 18%, transparent), color-mix(in srgb, var(--preview-card-accent) 16%, transparent));
  color: var(--preview-text);
  font-weight: 950;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .25);
}

.mini-event-lockup strong,
.mini-game-title {
  display: block;
  color: var(--preview-text);
  font-size: calc(1.95rem * var(--preview-font-scale));
  line-height: 1;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  text-shadow: 2px 2px 0 color-mix(in srgb, var(--preview-line) 32%, transparent);
}

.mini-event-lockup span {
  display: block;
  margin-top: 6px;
  color: color-mix(in srgb, var(--preview-text) 78%, transparent);
  font-size: calc(.72rem * var(--preview-font-scale));
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.mini-game-title {
  max-width: 300px;
  color: var(--preview-game);
  font-size: calc(2.5rem * var(--preview-font-scale));
  line-height: .92;
  text-align: right;
}

.mini-bracket-grid {
  display: grid;
  grid-template-columns: 230px 230px 230px;
  gap: 58px;
  align-items: start;
}

.mini-round {
  display: grid;
  gap: 12px;
}

.mini-round-title {
  padding: 8px 10px;
  border-left: 4px solid var(--preview-round);
  background: color-mix(in srgb, var(--preview-round) 18%, transparent);
  color: var(--preview-round);
  font-size: calc(.72rem * var(--preview-font-scale));
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .18em;
}

.bracket-mini-preview[data-round-highlights="0"] .mini-round-title {
  background: transparent;
  border-left-color: color-mix(in srgb, var(--preview-round) 45%, transparent);
}

.mini-match-card {
  position: relative;
  padding: 9px 10px 8px;
  border: 1px solid color-mix(in srgb, var(--preview-line) 28%, transparent);
  border-left-width: var(--preview-card-accent-width);
  border-left-color: var(--preview-card-accent);
  background-color: var(--preview-card-bg);
  border-radius: var(--preview-card-radius);
  box-shadow: 0 12px 24px rgba(0, 0, 0, .22);
}

.bracket-mini-preview[data-translucent-hub="1"] .mini-match-card {
  background: color-mix(in srgb, #030816 58%, transparent);
  backdrop-filter: blur(6px);
}

.mini-match-card.faded {
  opacity: .72;
}

.mini-match-card::after {
  content: "";
  position: absolute;
  top: 50%;
  right: -58px;
  width: 58px;
  height: 1px;
  background: var(--preview-line);
  opacity: .75;
}

.mini-round:last-child .mini-match-card::after {
  display: none;
}

.mini-match-meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  color: var(--preview-match);
  font-size: calc(.62rem * var(--preview-font-scale));
  font-weight: 950;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.mini-match-meta b {
  color: var(--preview-bo);
}

.mini-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 22px;
  padding: 3px 7px;
  color: var(--preview-text);
  border-top: 1px solid color-mix(in srgb, var(--preview-text) 10%, transparent);
  font-size: calc(.75rem * var(--preview-font-scale));
  font-weight: 950;
  text-transform: uppercase;
}

.mini-team-row.winner {
  color: var(--preview-winner);
  background: linear-gradient(90deg, color-mix(in srgb, var(--preview-winner) 22%, transparent), transparent);
}

.mini-team-row span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.mini-stream-pill {
  display: inline-flex;
  margin-top: 7px;
  padding: 2px 8px;
  border: 1px solid color-mix(in srgb, var(--preview-line) 55%, transparent);
  border-radius: 999px;
  background: var(--preview-pill-bg);
  color: var(--preview-pill-text);
  font-size: calc(.55rem * var(--preview-font-scale));
  font-weight: 950;
  letter-spacing: .08em;
}

@media (max-width: 1200px) {
  .mini-bracket-stage {
    transform: translate(calc(-50% + var(--preview-pan-x)), calc(-50% + var(--preview-pan-y))) scale(calc(.56 * var(--preview-zoom, 1)));
  }
}

@media (max-width: 760px) {
  .bracket-mini-preview {
    min-height: 190px;
  }

  .mini-bracket-stage {
    transform: translate(calc(-50% + var(--preview-pan-x)), calc(-50% + var(--preview-pan-y))) scale(calc(.45 * var(--preview-zoom, 1)));
  }
}


.team-search-grid {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) minmax(180px, 260px);
  gap: 12px;
  align-items: end;
}

@media (max-width: 760px) {
  .team-search-grid {
    grid-template-columns: 1fr;
  }
}


/* Global / local registry pages: Teams, Streamers, Casting Talent */
.registry-layout {
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}

.registry-layout .registry-scope-card,
.registry-layout .wide-card,
.registry-layout .registry-list-card {
  grid-column: 1 / -1;
  width: 100%;
}

.registry-layout .form-card {
  grid-column: 1 / -1;
  width: 100%;
}

.registry-layout .team-search-tools,
.registry-layout .streamer-search-tools {
  max-width: none;
}

.registry-layout .team-search-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(220px, 320px);
  gap: 12px;
  align-items: end;
}

.registry-layout .teams-list,
.registry-layout .streamers-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  width: 100%;
}

.registry-layout .team-card,
.registry-layout .streamer-card {
  width: 100%;
  grid-template-columns: 82px minmax(0, 1fr) auto;
  align-items: center;
}

.registry-layout .team-info,
.registry-layout .streamer-info {
  min-width: 0;
}

.registry-layout .team-info h3,
.registry-layout .streamer-info h3 {
  overflow-wrap: anywhere;
}

.registry-layout .team-actions,
.registry-layout .streamer-actions {
  justify-self: end;
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media (max-width: 860px) {
  .registry-layout .team-search-grid,
  .registry-layout .team-card,
  .registry-layout .streamer-card {
    grid-template-columns: 1fr;
  }

  .registry-layout .team-actions,
  .registry-layout .streamer-actions {
    justify-self: stretch;
    justify-content: flex-start;
  }
}


/* Registry create forms: compact org UI for teams, streamers, and casting talent */
.registry-layout .registry-create-card {
  padding: 16px 18px;
}

.registry-create-card .card-header {
  margin-bottom: 8px;
}

.registry-create-card .card-header h2 {
  margin-bottom: 0;
  font-size: 22px;
}

.registry-create-card form {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 12px;
  align-items: end;
}

.registry-create-card form > label,
.registry-create-card .two-col-fields > label {
  grid-column: span 4;
  min-width: 0;
}

.registry-create-card .two-col-fields {
  display: contents;
}

.registry-create-card input,
.registry-create-card select {
  min-height: 42px;
  padding: 10px 12px;
}

.registry-create-card .roster-header,
.registry-create-card .roster-rows,
.registry-create-card fieldset,
.registry-create-card .current-photo-wrap {
  grid-column: 1 / -1;
}

.registry-create-card .roster-header {
  margin-top: 2px;
}

.registry-create-card .roster-rows {
  max-height: 260px;
  overflow: auto;
  padding-right: 4px;
}

.registry-create-card .player-row {
  grid-template-columns: minmax(160px, 1fr) minmax(160px, 1fr) minmax(130px, 180px) 42px;
  padding: 9px;
}

.registry-create-card fieldset {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--border);
  border-radius: 14px;
  background: rgba(2, 12, 28, 0.35);
}

.registry-create-card fieldset legend {
  padding: 0 6px;
  color: var(--muted);
  font-size: 13px;
}

.registry-create-card .role-checklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 8px;
}

.registry-create-card .role-checklist label,
.registry-create-card #talentGamesChecklist label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid rgba(0, 170, 255, 0.16);
  border-radius: 999px;
  background: rgba(0, 157, 255, 0.06);
  color: var(--text);
}

.registry-create-card .role-checklist input,
.registry-create-card #talentGamesChecklist input {
  width: auto;
  min-height: auto;
  padding: 0;
}

.registry-create-card #talentGamesChecklist {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
  max-height: 150px;
  overflow: auto;
  padding-right: 4px;
}

.registry-create-card .primary-btn,
.registry-create-card .message {
  grid-column: 1 / -1;
}

.registry-create-card .primary-btn {
  justify-self: end;
  min-width: 180px;
}

.registry-create-card .message {
  margin: -4px 0 0;
}

.registry-create-card + .registry-list-card {
  margin-top: 0;
}

.registry-list-card .card-header,
.registry-list-card .list-header {
  align-items: center;
}

.registry-layout .streamers-list,
.registry-layout .teams-list {
  grid-template-columns: 1fr;
}

.registry-layout .team-card,
.registry-layout .streamer-card {
  min-height: 112px;
  padding: 16px;
}

.registry-layout .team-info,
.registry-layout .streamer-info {
  display: grid;
  gap: 5px;
}

.registry-layout .team-info p,
.registry-layout .streamer-info p {
  margin: 0;
}

.registry-layout .pill-row {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

@media (max-width: 1100px) {
  .registry-create-card form > label,
  .registry-create-card .two-col-fields > label {
    grid-column: span 6;
  }
}

@media (max-width: 720px) {
  .registry-create-card form {
    grid-template-columns: 1fr;
  }

  .registry-create-card form > label,
  .registry-create-card .two-col-fields > label,
  .registry-create-card .roster-header,
  .registry-create-card .roster-rows,
  .registry-create-card fieldset,
  .registry-create-card .current-photo-wrap,
  .registry-create-card .primary-btn,
  .registry-create-card .message {
    grid-column: 1;
  }

  .registry-create-card .player-row {
    grid-template-columns: 1fr;
  }

  .registry-create-card .primary-btn {
    width: 100%;
  }
}


/* Live platform growth panel */
.growth-panel .command-panel-head {
  align-items: flex-start;
}

.growth-panel h2 {
  margin: 4px 0 0;
  font-size: 22px;
}

.growth-panel select {
  max-width: 170px;
}

.growth-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(88px, 1fr));
  gap: 10px;
  margin: 14px 0;
}

.growth-summary article {
  min-height: 74px;
  padding: 12px;
  border: 1px solid rgba(74, 222, 255, 0.16);
  border-radius: 14px;
  background: rgba(2, 8, 23, 0.42);
}

.growth-summary span {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.growth-summary strong {
  display: block;
  margin-top: 6px;
  color: var(--text);
  font-size: 26px;
  line-height: 1;
}

.growth-chart {
  position: relative;
  min-height: 190px;
  padding: 16px 14px 10px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px;
  background:
    linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
    linear-gradient(180deg, rgba(0,157,255,.08), rgba(0,0,0,.04));
  background-size: 100% 25%, 12.5% 100%, auto;
  overflow: hidden;
}

.growth-bars {
  height: 130px;
  display: flex;
  align-items: flex-end;
  gap: 4px;
}

.growth-bar {
  flex: 1 1 4px;
  min-width: 3px;
  border-radius: 999px 999px 2px 2px;
  background: linear-gradient(180deg, var(--accent-2), rgba(0, 209, 129, 0.72), rgba(255, 140, 0, 0.68));
  box-shadow: 0 0 18px rgba(0, 200, 255, .22);
  opacity: .92;
}

.growth-axis {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  margin-top: 10px;
  color: rgba(229, 231, 235, .58);
  font-size: 11px;
  font-weight: 800;
}

.growth-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.growth-legend span::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: var(--accent-2);
  box-shadow: 0 0 12px rgba(0, 200, 255, .5);
}

.growth-legend span[data-growth-key="streamers"]::before { background: #51ffb0; }
.growth-legend span[data-growth-key="talent"]::before { background: #b56cff; }
.growth-legend span[data-growth-key="leagues"]::before { background: #ffbd4a; }
.growth-legend span[data-growth-key="bugs"]::before { background: #ff6b7a; }

@media (max-width: 900px) {
  .growth-summary {
    grid-template-columns: repeat(2, minmax(120px, 1fr));
  }

  .growth-panel .command-panel-head {
    flex-direction: column;
  }

  .growth-panel select {
    max-width: none;
  }
}


/* Dashboard command center polish */
.ops-command-center-panel {
  grid-column: span 2;
  min-height: 250px;
}

.ops-command-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

.ops-feature-card {
  position: relative;
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  align-items: start;
  min-height: 152px;
  padding: 14px;
  border: 1px solid rgba(0, 194, 255, .18);
  border-radius: 16px;
  background:
    radial-gradient(circle at 100% 0%, rgba(0, 194, 255, .12), transparent 34%),
    rgba(5, 17, 36, .58);
  color: inherit;
  text-align: left;
  overflow: hidden;
}

.ops-feature-card.staff-latest-news-card {
  cursor: pointer;
}

.ops-feature-card.staff-latest-news-card:hover {
  border-color: rgba(0, 224, 255, .55);
  transform: translateY(-1px);
}

.ops-feature-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 14px;
  background: rgba(0, 157, 255, .14);
  border: 1px solid rgba(0, 194, 255, .25);
}

.ops-feature-label {
  margin: 0 0 8px;
  color: #eaf6ff;
  font-weight: 900;
}

.ops-feature-card .open-pill {
  grid-column: 2;
  justify-self: start;
  margin-top: 8px;
}

.compact-activity p {
  padding: 8px 0;
}

.compact-activity small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  line-height: 1.35;
}

.ops-audit-panel {
  min-height: 250px;
}

.ops-audit-panel .panel-help {
  margin: 8px 0 12px;
  color: var(--muted);
  line-height: 1.45;
  font-size: 13px;
}

.audit-trail-list {
  max-height: 154px;
  overflow: auto;
  padding-right: 4px;
}

.audit-empty-state {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px dashed rgba(0, 194, 255, .24);
  border-radius: 14px;
  background: rgba(0, 157, 255, .06);
}

.audit-empty-state strong {
  color: #eaf6ff;
}

.audit-empty-state span,
.audit-empty-state small {
  color: var(--muted);
}

@media (max-width: 1180px) {
  .ops-command-center-panel {
    grid-column: span 1;
  }
  .ops-command-layout {
    grid-template-columns: 1fr;
  }
}


/* Unified hub link library */
.link-library-toolbar {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(74, 222, 255, .24);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(14, 116, 144, .18), rgba(2, 8, 23, .72));
  color: var(--text);
}

.link-library-toolbar span {
  color: var(--muted);
  font-size: .86rem;
}

.unified-link-card {
  position: relative;
  overflow: hidden;
  min-height: 190px;
  border-color: rgba(74, 222, 255, .24);
  background:
    radial-gradient(circle at top right, rgba(34, 211, 238, .12), transparent 34%),
    rgba(7, 16, 32, .78);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.unified-link-card:hover {
  transform: translateY(-2px);
  border-color: rgba(74, 222, 255, .55);
  box-shadow: 0 16px 32px rgba(0, 0, 0, .24), inset 3px 0 0 rgba(34, 211, 238, .95);
}

.featured-link-card {
  border-color: rgba(56, 189, 248, .55);
  background:
    radial-gradient(circle at top right, rgba(56, 189, 248, .18), transparent 38%),
    linear-gradient(180deg, rgba(8, 47, 73, .72), rgba(7, 16, 32, .78));
}

.link-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.link-card-badge {
  flex: 0 0 auto;
  padding: 5px 8px;
  border: 1px solid rgba(125, 211, 252, .32);
  border-radius: 999px;
  background: rgba(14, 165, 233, .14);
  color: var(--accent-2);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.link-card-meta {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-weight: 800;
}

.link-library-divider {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 14px 2px 2px;
  border-top: 1px solid rgba(75, 95, 130, .45);
}

.link-library-divider h3 {
  margin: 0;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: .08em;
}

.link-library-divider p {
  margin: 4px 0 0;
  color: var(--muted);
}

@media (max-width: 760px) {
  .link-library-toolbar,
  .link-card-top {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Patch: overlay style preview zoom + accurate live pattern controls. */
.overlay-preview-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.overlay-preview-zoom-controls {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .72rem;
}
.overlay-preview-zoom-controls button {
  border: 1px solid rgba(0, 180, 255, .35);
  background: rgba(0, 25, 50, .72);
  color: #eaf7ff;
  border-radius: 8px;
  padding: 5px 8px;
  font-weight: 900;
  cursor: pointer;
}
.bracket-mini-preview {
  overflow: auto;
  align-items: start;
  justify-items: start;
}
.bracket-mini-preview .mini-bracket-stage {
  transform: scale(var(--preview-zoom, 1));
  transform-origin: top left;
  min-width: 1020px;
}
.bracket-mini-preview[data-bg-pattern="default"] .mini-bracket-bg {
  background:
    radial-gradient(circle at 26% 24%, color-mix(in srgb, var(--preview-line) 20%, transparent), transparent 28%),
    repeating-linear-gradient(135deg, color-mix(in srgb, var(--preview-line) 10%, transparent) 0 1px, transparent 1px 42px),
    linear-gradient(90deg, var(--preview-board), color-mix(in srgb, var(--preview-board) 72%, #1b0b42 28%));
}
.bracket-mini-preview[data-bg-pattern="carbon"] .mini-bracket-bg {
  background-image:
    linear-gradient(45deg, rgba(255,255,255,.08) 25%, transparent 25%),
    linear-gradient(-45deg, rgba(255,255,255,.05) 25%, transparent 25%),
    linear-gradient(135deg, var(--preview-board), #090b18);
  background-size: 18px 18px, 18px 18px, 100% 100%;
}
.bracket-mini-preview[data-bg-pattern="circuit"] .mini-bracket-bg {
  background-image:
    linear-gradient(color-mix(in srgb, var(--preview-line) 18%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--preview-line) 14%, transparent) 1px, transparent 1px),
    radial-gradient(circle at 18px 18px, color-mix(in srgb, var(--preview-card-accent) 25%, transparent) 0 2px, transparent 3px),
    linear-gradient(135deg, var(--preview-board), #090b18);
  background-size: 42px 42px, 42px 42px, 42px 42px, 100% 100%;
}
.bracket-mini-preview[data-bg-pattern="dots"] .mini-bracket-bg {
  background-image:
    radial-gradient(circle, color-mix(in srgb, var(--preview-line) 35%, transparent) 1.5px, transparent 2px),
    radial-gradient(circle, color-mix(in srgb, var(--preview-card-accent) 25%, transparent) 1.5px, transparent 2px),
    linear-gradient(135deg, var(--preview-board), #090b18);
  background-size: 42px 42px, 42px 42px, 100% 100%;
  background-position: 0 0, 21px 21px, 0 0;
}
.bracket-mini-preview[data-bg-pattern="waves"] .mini-bracket-bg {
  background-image:
    repeating-radial-gradient(ellipse at 35% 50%, color-mix(in srgb, var(--preview-line) 12%, transparent) 0 2px, transparent 2px 26px),
    linear-gradient(135deg, var(--preview-board), #100a25);
}
.bracket-mini-preview[data-bg-pattern="shards"] .mini-bracket-bg {
  background-image:
    linear-gradient(125deg, color-mix(in srgb, var(--preview-line) 18%, transparent) 0 20%, transparent 20%),
    linear-gradient(35deg, transparent 0 62%, color-mix(in srgb, var(--preview-card-accent) 16%, transparent) 62% 72%, transparent 72%),
    linear-gradient(135deg, var(--preview-board), #100a25);
  background-size: 260px 180px, 320px 240px, 100% 100%;
}
.bracket-mini-preview[data-bg-pattern="rings"] .mini-bracket-bg {
  background-image:
    repeating-radial-gradient(circle at 68% 38%, color-mix(in srgb, var(--preview-line) 18%, transparent) 0 2px, transparent 2px 32px),
    radial-gradient(circle at 28% 75%, color-mix(in srgb, var(--preview-card-accent) 20%, transparent), transparent 36%),
    linear-gradient(135deg, var(--preview-board), #090b18);
}
.bracket-mini-preview[data-pill-pattern="default"] .mini-match-card {
  background-image:
    radial-gradient(circle at 18% 22%, color-mix(in srgb, var(--preview-card-accent) 18%, transparent) 0 2px, transparent 3px),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 1px, transparent 1px 18px);
  background-size: 28px 28px, 100% 100%;
}
.bracket-mini-preview[data-pill-pattern="clean"] .mini-match-card { background-image: linear-gradient(135deg, rgba(255,255,255,.04), transparent); }
.bracket-mini-preview[data-pill-pattern="diagonal"] .mini-match-card { background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.09) 0 2px, transparent 2px 10px); }
.bracket-mini-preview[data-pill-pattern="grid"] .mini-match-card { background-image: linear-gradient(rgba(255,255,255,.10) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px); background-size: 18px 18px; }
.bracket-mini-preview[data-pill-pattern="dots"] .mini-match-card { background-image: radial-gradient(circle, rgba(255,255,255,.14) 1px, transparent 1.5px); background-size: 13px 13px; }


/* Patch: prevent widened match schedule cards overlapping adjacent rounds.
   Round columns now size to their widest card, so long team names and BO9
   score strips stay visible inside the horizontal schedule scroller. */
.bracket-preview {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  overflow-x: auto;
  overflow-y: visible;
}

.bracket-preview > .bracket-round,
.bracket-round {
  flex: 0 0 auto;
  width: max-content;
  min-width: 390px;
  max-width: none;
}

.bracket-round > .match-card,
.match-card {
  width: 100%;
  min-width: 390px;
  max-width: none;
}

.match-team-row {
  grid-template-columns: minmax(0, max-content) 44px;
  width: max-content;
  min-width: 100%;
}

.match-team.selectable-team {
  grid-template-columns: 20px max-content max-content 42px;
  width: 100%;
  min-width: max-content;
  overflow: visible;
}

.team-name-with-seed {
  min-width: max-content;
  max-width: none;
}

.team-name-label {
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

.score-header-games,
.team-game-score-strip {
  width: max-content;
  min-width: max-content;
  max-width: none;
  overflow: visible;
  grid-auto-columns: 34px;
  gap: 6px;
}

.team-game-score {
  min-width: 30px;
}

.team-series-score {
  min-width: 34px;
}

.match-score-header {
  grid-template-columns: minmax(0, 1fr) max-content 42px;
  min-width: 100%;
  width: max-content;
  margin-right: 52px;
}

@media (max-width: 900px) {
  .bracket-preview > .bracket-round,
  .bracket-round {
    min-width: 360px;
  }

  .bracket-round > .match-card,
  .match-card {
    min-width: 360px;
  }

  .match-team.selectable-team {
    grid-template-columns: 18px max-content max-content 34px;
  }

  .score-header-games,
  .team-game-score-strip {
    grid-auto-columns: 30px;
    gap: 4px;
  }
}



/* Match card score alignment fix: keep G1/G2/G3 headers locked to score cells */
.match-card {
  --score-strip-width: 102px;
}

.match-score-header {
  grid-template-columns: 20px minmax(180px, 1fr) var(--score-strip-width) 34px !important;
  gap: 8px !important;
  margin: 8px 52px 6px 0 !important;
  padding: 0 10px !important;
  min-width: 0;
}

.match-team.selectable-team {
  grid-template-columns: 20px minmax(180px, 1fr) var(--score-strip-width) 34px !important;
  gap: 8px !important;
}

.score-header-games,
.team-game-score-strip {
  width: var(--score-strip-width) !important;
  min-width: var(--score-strip-width) !important;
  max-width: var(--score-strip-width) !important;
  grid-auto-columns: 30px !important;
  gap: 6px !important;
  overflow: visible !important;
  justify-content: start !important;
}

.score-header-games em,
.team-game-score {
  width: 30px !important;
  min-width: 30px !important;
}

.team-name-with-seed {
  min-width: 0;
  overflow: visible;
}

.team-name-label {
  min-width: 0;
  overflow: visible;
  text-overflow: clip;
  white-space: nowrap;
}

@media (max-width: 1280px) {
  .match-score-header {
    grid-template-columns: 18px minmax(160px, 1fr) var(--score-strip-width) 30px !important;
  }

  .match-team.selectable-team {
    grid-template-columns: 18px minmax(160px, 1fr) var(--score-strip-width) 30px !important;
  }

  .score-header-games,
  .team-game-score-strip {
    grid-auto-columns: 30px !important;
    gap: 6px !important;
  }
}

.rich-result-card .result-series-summary {
  margin: 4px 0 10px;
  color: #fff;
  font-weight: 800;
}

.rich-result-card .result-series-summary small {
  display: inline-block;
  margin-left: 8px;
  color: #8ee6ff;
  letter-spacing: .08em;
}

.result-game-list {
  display: grid;
  gap: 6px;
  margin: 10px 0;
}

.result-game-row {
  display: grid;
  grid-template-columns: 72px minmax(120px, 1fr) 70px;
  gap: 10px;
  align-items: center;
  border: 1px solid rgba(19, 184, 255, .18);
  border-radius: 10px;
  background: rgba(0, 12, 28, .36);
  padding: 8px 10px;
  color: rgba(220, 235, 255, .78);
}

.result-game-row strong {
  color: #fff;
}

.result-game-row em {
  justify-self: end;
  color: #29c9ff;
  font-style: normal;
  font-weight: 900;
}

.result-progression-line {
  margin-top: 10px;
  border-left: 3px solid #29c9ff;
  padding: 7px 10px;
  border-radius: 8px;
  background: rgba(41, 201, 255, .1);
  color: #dff7ff;
  font-weight: 800;
}


/* Tournament Info redesign - scoped to the Tournament Info panel only */
.tournament-info-redesign {
  gap: 14px;
}

.tournament-info-command-bar {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
  padding: 4px 2px 8px;
}

.tournament-info-command-bar h2 {
  margin: 0 0 4px;
  color: #f7fbff;
  font-size: 1.5rem;
}

.tournament-info-command-bar p {
  margin: 0;
  color: #a9c4df;
}

.tournament-info-command-actions,
.tournament-info-tabs,
.ti-status-strip {
  display: flex;
  align-items: center;
  gap: 10px;
}

.tournament-info-command-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.tournament-info-tabs {
  position: sticky;
  top: 0;
  z-index: 6;
  flex-wrap: wrap;
  padding: 10px;
  border: 1px solid rgba(64, 180, 255, 0.18);
  border-radius: 14px;
  background: rgba(5, 15, 30, 0.94);
  backdrop-filter: blur(10px);
}

.tournament-info-tabs a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 13px;
  border: 1px solid rgba(92, 177, 255, 0.16);
  border-radius: 10px;
  background: rgba(10, 27, 50, 0.72);
  color: #d8ecff;
  font-size: 0.86rem;
  font-weight: 800;
  text-decoration: none;
}

.tournament-info-tabs a:first-child,
.tournament-info-tabs a:hover {
  border-color: rgba(0, 194, 255, 0.54);
  background: linear-gradient(135deg, rgba(0, 194, 255, 0.22), rgba(32, 124, 255, 0.16));
  color: #ffffff;
}

.ti-status-strip {
  align-items: stretch;
  display: grid;
  grid-template-columns: minmax(260px, 1.4fr) repeat(3, minmax(120px, 0.7fr)) minmax(210px, 1.1fr) minmax(280px, 1.4fr);
}

.ti-status-card,
.ti-stat-card {
  border: 1px solid rgba(64, 180, 255, 0.18);
  border-radius: 16px;
  background: radial-gradient(circle at top left, rgba(0, 194, 255, 0.10), rgba(6, 18, 34, 0.68));
  padding: 16px;
}

.ti-card-label,
.ti-stat-card span {
  display: block;
  color: #9fb7d2;
  font-size: 0.82rem;
  font-weight: 800;
  margin-bottom: 6px;
}

.ti-status-card strong {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(151, 96, 255, 0.45);
  border-radius: 999px;
  background: rgba(151, 96, 255, 0.22);
  color: #e5d8ff;
  padding: 4px 10px;
  font-size: 0.8rem;
  text-transform: uppercase;
}

.ti-status-card p {
  color: #c0d3e8;
  margin: 10px 0 0;
}

.ti-stat-card strong {
  display: block;
  color: #ffffff;
  font-size: 1.45rem;
  line-height: 1.15;
}

.ti-stat-card.wide strong {
  font-size: 1.05rem;
}

.ti-stat-card.viewer strong {
  color: #56dcff;
  font-size: 0.9rem;
  word-break: break-all;
}

.ti-stat-card.viewer div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.ti-layout-grid {
  display: grid;
  grid-template-columns: minmax(420px, 1.4fr) minmax(260px, 0.8fr) minmax(320px, 1fr);
  gap: 14px;
  align-items: start;
}

.ti-card {
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.16);
}

.ti-card-large {
  grid-column: span 1;
}

.info-form-grid.two-col {
  grid-template-columns: repeat(2, minmax(180px, 1fr));
}

.info-form-grid.one-col {
  grid-template-columns: 1fr;
}

.ti-logo-viewer-row {
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(320px, 1.2fr);
  gap: 14px;
  margin-top: 14px;
  align-items: start;
}

.ti-logo-field {
  min-height: 118px;
  border: 1px dashed rgba(92, 177, 255, 0.24);
  border-radius: 14px;
  background: rgba(9, 24, 43, 0.55);
  padding: 14px;
}

.ti-summary-card dl {
  margin: 0;
  display: grid;
  grid-template-columns: minmax(100px, 0.8fr) 1fr;
  gap: 9px 12px;
}

.ti-summary-card dt {
  color: #9fb7d2;
  font-weight: 800;
}

.ti-summary-card dd {
  margin: 0;
  color: #f7fbff;
  text-align: right;
  font-weight: 800;
}

.ti-sticky-actions {
  position: sticky;
  bottom: 12px;
  z-index: 7;
  border: 1px solid rgba(64, 180, 255, 0.18);
  border-radius: 14px;
  background: rgba(5, 15, 30, 0.94);
  padding: 12px;
  justify-content: flex-end;
  backdrop-filter: blur(10px);
}

@media (min-width: 1250px) {
  .ti-layout-grid .ti-card-large:first-child {
    grid-column: span 1;
  }

  .ti-layout-grid [data-tournament-section="maps"] {
    grid-column: span 2;
  }
}

@media (max-width: 1400px) {
  .ti-status-strip {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }

  .ti-status-card,
  .ti-stat-card.viewer {
    grid-column: span 2;
  }

  .ti-layout-grid {
    grid-template-columns: repeat(2, minmax(280px, 1fr));
  }
}

@media (max-width: 900px) {
  .tournament-info-command-bar,
  .ti-logo-viewer-row {
    grid-template-columns: 1fr;
    display: grid;
  }

  .ti-status-strip,
  .ti-layout-grid,
  .info-form-grid.two-col {
    grid-template-columns: 1fr;
  }

  .ti-status-card,
  .ti-stat-card.viewer {
    grid-column: auto;
  }

  .tournament-info-command-actions {
    justify-content: flex-start;
  }
}


/* Tournament Info lower-section redesign */
.ti-detail-grid {
  display: grid;
  grid-template-columns: minmax(360px, 0.9fr) minmax(420px, 1.1fr);
  gap: 14px;
  align-items: start;
}

.ti-detail-grid .ti-public-card,
.ti-detail-grid .ti-rules-card,
.ti-detail-grid .ti-social-card,
.ti-detail-grid .ti-settings-card,
.ti-detail-grid .ti-teams-card {
  grid-column: span 1;
}

.ti-section-subtitle {
  margin: 3px 0 0;
  color: #9fb7d2;
  font-size: 0.86rem;
}

.ti-timeline-grid {
  display: grid;
  gap: 12px;
}

.ti-timeline-grid label {
  position: relative;
  padding: 13px;
  border: 1px solid rgba(92, 177, 255, 0.16);
  border-radius: 14px;
  background: rgba(8, 24, 43, 0.58);
}

.ti-public-copy-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(320px, 1.2fr);
  gap: 14px;
}

.ti-public-copy-grid textarea,
.ti-rules-card textarea {
  min-height: 150px;
}

.ti-public-copy-grid label:last-child textarea {
  min-height: 230px;
}

.ti-inner-panel {
  background: rgba(8, 24, 43, 0.58);
}

.ti-social-card .section-heading-row,
.ti-settings-card .section-heading-row,
.ti-teams-card .section-heading-row {
  align-items: center;
}

.ti-social-list {
  gap: 12px;
}

.ti-social-list .social-link-row {
  background:
    linear-gradient(135deg, rgba(0, 194, 255, 0.08), rgba(12, 27, 50, 0.78));
  border-color: rgba(92, 177, 255, 0.24);
}

.ti-toggle-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.ti-toggle-grid label {
  min-height: 78px;
  align-items: flex-start;
}

.ti-toggle-grid label input {
  width: auto;
  margin-top: 4px;
}

.ti-toggle-grid label span {
  display: grid;
  gap: 4px;
}

.ti-toggle-grid label strong {
  color: #f7fbff;
  font-size: 0.93rem;
}

.ti-toggle-grid label small {
  color: #9fb7d2;
  line-height: 1.35;
}

.ti-team-roster-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.ti-team-roster-list .public-team-pill {
  border-radius: 14px;
  padding: 12px 14px;
  background:
    linear-gradient(135deg, rgba(0, 200, 255, 0.13), rgba(11, 31, 56, 0.74));
  border-color: rgba(0, 200, 255, 0.28);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
}

.ti-date-card,
.ti-settings-card {
  background:
    linear-gradient(135deg, rgba(0, 91, 145, 0.16), rgba(6, 18, 34, 0.68));
}

.ti-public-card,
.ti-rules-card,
.ti-social-card,
.ti-teams-card {
  background:
    linear-gradient(135deg, rgba(15, 35, 67, 0.76), rgba(6, 18, 34, 0.68));
}

@media (min-width: 1280px) {
  .ti-detail-grid .ti-public-card,
  .ti-detail-grid .ti-rules-card {
    grid-column: span 1;
  }

  .ti-detail-grid .ti-settings-card,
  .ti-detail-grid .ti-teams-card {
    grid-column: span 1;
  }
}

@media (max-width: 1180px) {
  .ti-detail-grid,
  .ti-public-copy-grid {
    grid-template-columns: 1fr;
  }
}


/* Tournament Info tabbed section update */
.tournament-info-tabbed .tournament-info-tabs {
  position: static;
  margin-bottom: 0;
}

.tournament-info-tabbed .tournament-info-tabs button {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 13px;
  border: 1px solid rgba(92, 177, 255, 0.16);
  border-radius: 10px;
  background: rgba(10, 27, 50, 0.72);
  color: #d8ecff;
  font-size: 0.86rem;
  font-weight: 800;
  cursor: pointer;
}

.tournament-info-tabbed .tournament-info-tabs button.active,
.tournament-info-tabbed .tournament-info-tabs button:hover {
  border-color: rgba(0, 194, 255, 0.54);
  background: linear-gradient(135deg, rgba(0, 194, 255, 0.24), rgba(32, 124, 255, 0.18));
  color: #ffffff;
}

.ti-tab-panels {
  min-height: 420px;
}

.ti-tab-panel {
  display: none;
}

.ti-tab-panel.active {
  display: block;
}

.ti-status-strip-compact {
  grid-template-columns: minmax(230px, 1.35fr) repeat(3, minmax(105px, .55fr)) minmax(190px, .95fr) minmax(280px, 1.35fr);
  gap: 10px;
}

.ti-status-strip-compact .ti-status-card,
.ti-status-strip-compact .ti-stat-card {
  min-height: 0;
  padding: 12px 14px;
}

.ti-status-strip-compact .ti-status-card p {
  margin-top: 7px;
  line-height: 1.25;
}

.ti-status-strip-compact .ti-stat-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.ti-status-strip-compact .ti-stat-card span {
  margin-bottom: 4px;
}

.ti-status-strip-compact .ti-stat-card strong {
  font-size: 1.25rem;
}

.ti-status-strip-compact .ti-stat-card.wide strong {
  font-size: 1rem;
}

.ti-status-strip-compact .ti-stat-card.viewer {
  justify-content: flex-start;
}

.tournament-info-tabbed .ti-layout-grid {
  grid-template-columns: minmax(420px, 1.2fr) minmax(280px, .75fr) minmax(320px, .9fr);
}

.tournament-info-tabbed .ti-tab-panel[data-ti-panel="dates"],
.tournament-info-tabbed .ti-tab-panel[data-ti-panel="rules"],
.tournament-info-tabbed .ti-tab-panel[data-ti-panel="settings"],
.tournament-info-tabbed .ti-tab-panel[data-ti-panel="teams"],
.tournament-info-tabbed .ti-tab-panel[data-ti-panel="scoring"] {
  max-width: 1120px;
}

.tournament-info-tabbed .ti-tab-panel[data-ti-panel="public"] {
  display: none;
  grid-template-columns: minmax(420px, 1.1fr) minmax(360px, .9fr);
  gap: 14px;
}

.tournament-info-tabbed .ti-tab-panel[data-ti-panel="public"].active {
  display: grid;
}

.tournament-info-tabbed .ti-timeline-grid {
  grid-template-columns: repeat(2, minmax(240px, 1fr));
}

.tournament-info-tabbed .ti-public-copy-grid {
  grid-template-columns: minmax(300px, .75fr) minmax(420px, 1.25fr);
}

.tournament-info-tabbed .ti-sticky-actions {
  margin-top: 0;
}

@media (max-width: 1400px) {
  .ti-status-strip-compact {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
  }
  .tournament-info-tabbed .ti-layout-grid,
  .tournament-info-tabbed .ti-tab-panel[data-ti-panel="public"].active,
  .tournament-info-tabbed .ti-public-copy-grid,
  .tournament-info-tabbed .ti-timeline-grid {
    grid-template-columns: 1fr;
  }
}


/* Tournament Info > Teams card roster layout */
.ti-team-roster-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 14px;
}

.ti-team-card {
  border: 1px solid rgba(0, 200, 255, 0.28);
  background:
    radial-gradient(circle at top left, rgba(0, 200, 255, 0.14), transparent 38%),
    linear-gradient(135deg, rgba(8, 28, 51, 0.88), rgba(4, 16, 31, 0.86));
  border-radius: 16px;
  padding: 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.04);
  min-height: 150px;
}

.ti-team-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}

.ti-team-card-logo {
  width: 52px;
  height: 52px;
  border-radius: 14px;
  object-fit: contain;
  background: rgba(1, 13, 29, 0.72);
  border: 1px solid rgba(110, 198, 255, 0.24);
  padding: 6px;
  flex: 0 0 auto;
}

.ti-team-card-logo-placeholder {
  display: grid;
  place-items: center;
  padding: 0;
  color: #eaffff;
  font-weight: 900;
  font-size: 1.35rem;
  background: linear-gradient(135deg, rgba(0, 191, 255, 0.32), rgba(0, 91, 145, 0.16));
}

.ti-team-card-header strong {
  display: block;
  color: #f7fbff;
  font-size: 1rem;
  line-height: 1.2;
}

.ti-team-card-header small {
  display: block;
  color: #8fb2d4;
  margin-top: 3px;
  font-weight: 700;
}

.ti-team-card-roster {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 7px;
}

.ti-team-card-roster li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(84, 170, 230, 0.14);
  background: rgba(2, 14, 30, 0.52);
  border-radius: 10px;
  padding: 8px 10px;
  color: #d9ecff;
  font-size: 0.9rem;
  font-weight: 700;
}

.ti-team-player-role {
  color: #68e8ff;
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.ti-team-empty-roster {
  color: #8fb2d4 !important;
  font-weight: 700 !important;
  justify-content: center !important;
  font-style: italic;
}

/* Bracketr hotfix: keep tournament info header single and ladder form compact */
#tournamentInfoPanel > .card-header.compact-section-header {
  display: none !important;
}

.ladder-table th[data-ladder-column="rank"],
.ladder-table td.ladder-pos-cell,
.ladder-table th[data-ladder-column="movement"],
.ladder-table td.ladder-move-cell,
.ladder-table th[data-ladder-column="played"],
.ladder-table th[data-ladder-column="points"],
.ladder-table th[data-ladder-column="percent"],
.ladder-table th[data-ladder-column="won"],
.ladder-table th[data-ladder-column="lost"],
.ladder-table th[data-ladder-column="drawn"],
.ladder-table th[data-ladder-column="dq"],
.ladder-table th[data-ladder-column="pf"],
.ladder-table th[data-ladder-column="pa"] {
  width: 64px;
  min-width: 52px;
  max-width: 78px;
  text-align: center;
}

.ladder-table .form-cell {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 124px;
  min-width: 124px;
  max-width: 124px;
  white-space: nowrap;
}

.ladder-table .form-dot {
  flex: 0 0 22px;
  width: 22px;
  height: 22px;
  font-size: 11px;
}

.ladder-table .ladder-club {
  min-width: 220px;
}


/* === Bracketr sidebar collapse polish + full-width links === */
.admin-sidebar {
  min-width: 0 !important;
  overflow: hidden;
}

.admin-sidebar-nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.admin-sidebar-link {
  width: 100%;
  min-height: 44px;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  border-radius: 12px;
  padding: 11px 14px !important;
  box-sizing: border-box;
}

.admin-sidebar-link.active {
  border-color: rgba(0, 212, 255, 0.85) !important;
  background: linear-gradient(90deg, rgba(0, 212, 255, 0.20), rgba(0, 118, 255, 0.12)) !important;
  box-shadow: inset 3px 0 0 rgba(0, 244, 255, 0.95), 0 0 18px rgba(0, 212, 255, 0.16);
}

.admin-sidebar-toggle {
  width: 100%;
  height: 42px;
  margin: 12px 0;
  border-radius: 12px;
  border: 1px solid var(--border);
  background: rgba(4, 22, 42, 0.82);
  color: var(--text);
  font-weight: 900;
  cursor: pointer;
}

body.admin-sidebar-collapsed .admin-app-shell {
  grid-template-columns: 72px minmax(0, 1fr) !important;
}

body.admin-sidebar-collapsed .admin-sidebar {
  width: 72px !important;
  min-width: 72px !important;
  padding: 16px 8px !important;
}

body.admin-sidebar-collapsed .admin-sidebar-brand {
  justify-content: center;
  padding: 0 0 12px !important;
}

body.admin-sidebar-collapsed .admin-sidebar-brand span:not(.admin-sidebar-logo) {
  display: none !important;
}

body.admin-sidebar-collapsed .admin-sidebar-logo {
  margin: 0 auto;
}

body.admin-sidebar-collapsed .admin-sidebar-toggle {
  width: 44px;
  height: 44px;
  margin: 10px auto 14px;
  display: grid;
  place-items: center;
  padding: 0;
}

body.admin-sidebar-collapsed .admin-sidebar-nav {
  align-items: center;
  gap: 10px;
}

body.admin-sidebar-collapsed .admin-sidebar-link {
  width: 44px !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 !important;
  display: grid !important;
  place-items: center !important;
  justify-content: center !important;
  text-align: center;
  font-size: 0 !important;
  letter-spacing: 0;
  border-radius: 12px;
  overflow: hidden;
}

body.admin-sidebar-collapsed .admin-sidebar-link::before {
  content: attr(data-nav-short);
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  font-size: 12px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .3px;
  color: inherit;
}

body.admin-sidebar-collapsed .admin-sidebar-link.active {
  box-shadow: 0 0 16px rgba(0, 212, 255, 0.22);
}

/* === Teams database density + modal editor === */
.teams-page-layout {
  gap: 18px;
}

.teams-top-row {
  display: grid;
  grid-template-columns: minmax(320px, 1fr) minmax(320px, 1fr);
  gap: 18px;
}

.team-create-summary-card,
.registry-scope-card {
  min-height: 138px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.team-create-summary-card .primary-btn {
  white-space: nowrap;
}

.teams-tile-grid,
.teams-list.teams-tile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(185px, 1fr));
  gap: 14px;
}

.team-tile-card {
  position: relative;
  min-height: 260px;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: 14px !important;
  gap: 10px;
}

.team-card-actions {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  gap: 6px;
  z-index: 2;
}

.team-card-actions .secondary-btn,
.team-card-actions .danger-btn {
  min-height: 28px;
  height: 28px;
  padding: 0 9px;
  font-size: 11px;
  border-radius: 9px;
}

.team-card-actions .danger-btn {
  width: 28px;
  padding: 0;
}

.team-tile-logo,
.logo-box.team-tile-logo {
  width: 74px;
  height: 74px;
  border-radius: 18px;
  margin-bottom: auto;
}

.team-tile-info {
  width: 100%;
  min-width: 0;
}

.team-tile-info h3 {
  margin: 0 0 2px;
  font-size: 15px;
  line-height: 1.1;
  overflow-wrap: anywhere;
}

.team-short-tag {
  margin: 0;
  color: var(--accent);
  font-weight: 900;
  font-size: 12px;
}

.team-player-count {
  margin: 2px 0 8px;
  color: var(--muted);
  font-size: 12px;
}

.team-card-players {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  min-height: 25px;
  margin-bottom: 10px;
}

.team-card-players span {
  max-width: 100%;
  border: 1px solid rgba(0, 190, 255, 0.25);
  background: rgba(0, 190, 255, 0.10);
  color: #cdefff;
  border-radius: 999px;
  padding: 3px 7px;
  font-size: 11px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.team-card-players.muted {
  color: var(--muted);
  font-size: 12px;
}

.team-card-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: auto;
}

.team-card-tags span {
  border: 1px solid rgba(0, 190, 255, 0.25);
  background: rgba(0, 190, 255, 0.08);
  border-radius: 999px;
  padding: 4px 7px;
  font-size: 10px;
  font-weight: 900;
  color: #cdefff;
}

.team-editor-modal-card {
  width: min(980px, calc(100vw - 36px));
  max-height: calc(100vh - 60px);
  overflow: auto;
}

.team-editor-form {
  display: grid;
  gap: 16px;
}

.team-editor-section {
  display: grid;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--border);
  border-radius: 16px;
  background: rgba(0, 190, 255, 0.04);
}

.team-editor-section-head h3,
.team-login-panel h3 {
  margin: 0 0 6px;
}

.team-editor-profile-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .75fr);
  gap: 16px;
  align-items: start;
}

.team-editor-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.team-editor-fields label:first-child,
.team-editor-fields label:last-child {
  grid-column: 1 / -1;
}

.team-logo-editor {
  display: grid;
  gap: 12px;
}

.team-logo-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.team-logo-compare article {
  display: grid;
  gap: 8px;
  min-width: 0;
}

.team-logo-compare span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
}

.team-logo-preview {
  aspect-ratio: 1 / 1;
  min-height: 132px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(0, 190, 255, 0.28);
  border-radius: 14px;
  background: rgba(3, 10, 24, 0.58);
  color: #dff7ff;
  font-size: 24px;
  font-weight: 950;
  overflow: hidden;
}

.team-logo-preview.empty {
  color: var(--muted);
  font-size: 14px;
}

.team-logo-preview img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 12px;
}

.team-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.team-login-panel {
  background: rgba(0, 190, 255, 0.06);
}

.compact-roster-rows .player-row {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(120px, .55fr) 38px;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  position: sticky;
  bottom: -1px;
  padding-top: 12px;
  background: linear-gradient(180deg, transparent, rgba(4, 12, 24, 0.96) 34%);
}

.team-db-az-filter {
  margin: 10px 0 12px;
}

.team-db-az-filter button {
  min-width: 34px;
  height: 34px;
  display: inline-grid;
  place-items: center;
  padding: 0 8px;
}

@media (max-width: 980px) {
  .teams-top-row {
    grid-template-columns: 1fr;
  }

  .team-editor-grid {
    grid-template-columns: 1fr;
  }

  .team-editor-profile-grid,
  .team-editor-fields,
  .team-logo-compare {
    grid-template-columns: 1fr;
  }

  .compact-roster-rows .player-row {
    grid-template-columns: 1fr;
  }
}


/* Competition hub pages inside the Bracketr operations layout */
.comp-hub-page .bracket-layout,
.comp-hub-page .bracket-hub-card {
  width: 100%;
}

.comp-hub-page .bracket-hub-card {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.comp-hub-page .bracket-hub-header {
  display: none;
}

.comp-hub-page .bracket-hub-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin: 0 0 16px;
  padding: 0 0 14px;
  border-bottom: 1px solid rgba(130, 160, 200, 0.18);
  background: transparent;
}

.comp-hub-page .hub-sidebar-brand,
.comp-hub-page .hub-global-link,
.comp-hub-page .hub-sidebar-divider {
  display: none;
}

.comp-hub-page .bracket-hub-tabs::before {
  content: "Management";
  color: #9aa8bb;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-right: 2px;
}

.comp-hub-page .hub-tab-btn {
  min-height: 38px;
  border: 1px solid rgba(70, 115, 180, 0.36);
  border-radius: 8px;
  background: rgba(8, 17, 30, 0.82);
  color: #f7fbff;
  padding: 0 16px;
  font-weight: 800;
}

.comp-hub-page .hub-tab-btn.active {
  background: linear-gradient(180deg, #2578ff, #0751c9);
  border-color: #2b80ff;
  color: #fff;
  box-shadow: none;
}

.comp-hub-page .bracket-hub-panel.active {
  display: block;
}

.comp-hub-page .bracket-hub-panel {
  background: linear-gradient(180deg, rgba(10, 22, 38, .94), rgba(6, 15, 27, .9));
  border: 1px solid rgba(130, 160, 200, .18);
  border-radius: 14px;
  padding: 16px;
  box-shadow: 0 22px 60px rgba(0, 0, 0, .24);
}

.comp-hub-page .teams-applications-shell,
.comp-hub-page .tournament-info-form {
  background: transparent;
}

.comp-hub-page .hero-logo.has-image {
  padding: 10px;
}

.comp-hub-page .hero-logo.has-image img,
.comp-hub-page .league-header-logo {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.comp-hub-page .league-header-logo {
  width: 26px;
  height: 26px;
  margin-right: 8px;
  vertical-align: middle;
}

.comp-hub-page .support-bracketr-footer-page {
  margin-left: var(--sidebar, 230px);
}

@media (max-width: 900px) {
  .comp-hub-page .bracket-hub-tabs {
    gap: 8px;
  }

  .comp-hub-page .hub-tab-btn {
    flex: 1 1 180px;
  }

  .comp-hub-page .support-bracketr-footer-page {
    margin-left: 0;
  }
}

/* Competition detail/hub nav alignment */
.comp-tabs {
  align-items: center;
}

.comp-tabs > a {
  white-space: nowrap;
}

.comp-hub-page .bracket-hub-card {
  display: block !important;
  grid-template-columns: none !important;
  min-height: 0 !important;
}

.comp-hub-page .bracket-hub-tabs,
body.comp-hub-page.bracket-page .bracket-hub-tabs,
body.comp-hub-page .bracket-hub-card > .bracket-hub-tabs {
  display: flex !important;
  grid-column: auto !important;
  grid-row: auto !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: center !important;
  gap: 12px !important;
  margin: 0 0 16px !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(130, 160, 200, 0.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.comp-hub-page .bracket-hub-tabs::before {
  content: none !important;
}

.comp-hub-page .hub-tab-btn,
.comp-hub-page .hub-tab-link {
  min-width: 0 !important;
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 14px !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  box-shadow: none !important;
  inset: auto !important;
}

.comp-hub-page .hub-tab-btn:hover,
.comp-hub-page .hub-tab-btn.active {
  box-shadow: none !important;
}

.comp-hub-page .bracket-hub-panel {
  grid-column: auto !important;
  grid-row: auto !important;
}


/* Competition management pages use the same header/nav rhythm as the overview page */
.comp-hub-page .comp-hub-tabs.bracket-hub-tabs {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 18px !important;
  margin: 0 0 14px !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(130, 160, 200, 0.18) !important;
  border-radius: 0 !important;
  background: transparent !important;
}

.comp-hub-page .comp-hub-tabs.bracket-hub-tabs::before {
  content: none !important;
}

.comp-hub-page .comp-hub-tabs .hub-tab-btn,
.comp-hub-page .comp-hub-tabs .hub-tab-link {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #f4f8ff !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 34px !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.comp-hub-page .comp-hub-tabs .hub-tab-btn:hover,
.comp-hub-page .comp-hub-tabs .hub-tab-link:hover,
.comp-hub-page .comp-hub-tabs .hub-tab-btn.active {
  color: #ffffff !important;
  background: transparent !important;
  box-shadow: none !important;
}

.comp-hub-page .comp-hub-tabs .hub-tab-btn.active {
  border-bottom: 2px solid #2b80ff !important;
}

.comp-hub-page .bracket-hub-card {
  margin-top: 0 !important;
}


/* Competition hub header/navigation alignment fix */
body.comp-hub-page .comp-hub-main {
  max-width: 1580px;
}

body.comp-hub-page .comp-hub-tabs.comp-management-tabs {
  width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 24px !important;
  margin: 0 0 16px !important;
  padding: 0 0 14px !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(130, 160, 200, 0.2) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.comp-hub-page .comp-hub-tabs.comp-management-tabs::before,
body.comp-hub-page .comp-hub-tabs.comp-management-tabs::after,
body.comp-hub-page .comp-hub-tabs .hub-sidebar-divider,
body.comp-hub-page .comp-hub-tabs .hub-sidebar-brand {
  display: none !important;
  content: none !important;
}

body.comp-hub-page .comp-hub-tabs.comp-management-tabs .hub-tab-btn,
body.comp-hub-page .comp-hub-tabs.comp-management-tabs .hub-tab-link {
  appearance: none !important;
  -webkit-appearance: none !important;
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 0 13px !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  border-bottom: 2px solid transparent !important;
  background: transparent !important;
  color: #f4f8ff !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

body.comp-hub-page .comp-hub-tabs.comp-management-tabs .hub-tab-btn:hover,
body.comp-hub-page .comp-hub-tabs.comp-management-tabs .hub-tab-link:hover,
body.comp-hub-page .comp-hub-tabs.comp-management-tabs .hub-tab-btn.active {
  color: #ffffff !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.comp-hub-page .comp-hub-tabs.comp-management-tabs .hub-tab-btn.active {
  border-bottom-color: #2b80ff !important;
}

body.comp-hub-page .bracket-hub-card {
  display: block !important;
  grid-template-columns: none !important;
  margin-top: 0 !important;
}

body.comp-hub-page .bracket-hub-card > .bracket-hub-tabs {
  display: none !important;
}

.match-row-link {
  color: inherit;
  text-decoration: none;
}

.match-row-link:hover,
.match-row-link:focus {
  border-color: rgba(28, 132, 255, 0.65);
  background: rgba(28, 132, 255, 0.08);
}

.match-card-focus {
  outline: 2px solid rgba(0, 198, 255, 0.95);
  box-shadow: 0 0 0 4px rgba(0, 198, 255, 0.16);
}


/* Competition operations table/drawer refresh */
.ops-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin:0 0 18px}
.ops-page-head h2{margin:0 0 4px}
.ops-stat-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;margin:0 0 18px}
.ops-stat-grid>div{border:1px solid rgba(80,140,220,.22);background:rgba(4,18,40,.72);border-radius:12px;padding:14px}
.ops-stat-grid strong{display:block;font-size:24px;color:#fff}
.ops-stat-grid span{color:#aebfd5;font-size:13px}
.ops-filter-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:12px;margin:0 0 14px}
.ops-table-wrap{overflow:auto;border:1px solid rgba(80,140,220,.22);border-radius:14px;background:rgba(3,14,32,.74)}
.ops-table{width:100%;border-collapse:collapse;min-width:920px}
.ops-table th,.ops-table td{padding:14px 16px;text-align:left;border-bottom:1px solid rgba(80,140,220,.16);vertical-align:middle}
.ops-table th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#aebfd5;background:rgba(5,20,45,.72)}
.ops-table tr:hover td{background:rgba(0,130,255,.06)}
.op-badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 8px;background:rgba(35,95,190,.22);color:#bcd8ff;font-size:12px;font-weight:700}
.op-badge.live{background:rgba(28,180,110,.18);color:#51ffb0}
.op-badge.warning{background:rgba(220,170,40,.18);color:#ffd166}
.op-badge.danger{background:rgba(255,80,100,.17);color:#ff6b7c}
.op-badge.complete{background:rgba(35,95,190,.25);color:#9fc5ff}
.match-dot{display:inline-block;width:9px;height:9px;border-radius:99px;background:#8796aa;margin-right:8px}
.match-dot.live{background:#51ffb0;box-shadow:0 0 0 4px rgba(81,255,176,.09)}
.chevron-btn{width:34px;height:34px;border:1px solid rgba(80,140,220,.28);background:rgba(3,12,28,.7);color:#fff;border-radius:9px;font-size:22px;cursor:pointer}
.comp-hub-page .round-setup-table{min-width:1320px}
.compact-btn{padding:7px 10px;border-radius:9px}
.ops-helper{margin-top:12px}
.ops-drawer{position:fixed;top:0;right:-520px;width:min(520px,96vw);height:100vh;z-index:9999;background:linear-gradient(180deg,rgba(5,18,40,.98),rgba(3,10,24,.98));border-left:1px solid rgba(80,140,220,.3);box-shadow:-24px 0 70px rgba(0,0,0,.45);padding:24px;overflow:auto;transition:right .2s ease}
.ops-drawer.open{right:0}
.ops-drawer-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;border-bottom:1px solid rgba(80,140,220,.2);padding-bottom:16px;margin-bottom:16px}
.ops-drawer-head h2{margin:0 0 4px}
.ops-drawer-section{border:1px solid rgba(80,140,220,.2);background:rgba(4,18,40,.62);border-radius:14px;padding:16px;margin:14px 0}
.ops-drawer-section h3{margin:0 0 12px}
.ops-form-grid,.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.toggle-row{display:flex;grid-template-columns:none;align-items:center;gap:10px;margin-bottom:12px;color:#fff}
.toggle-row input{width:auto}
.affected-list{display:flex;flex-wrap:wrap;gap:8px}
.affected-list span{border:1px solid rgba(80,140,220,.25);border-radius:999px;padding:6px 10px;background:rgba(0,130,255,.09)}
.ops-drawer-actions{position:sticky;bottom:0;display:flex;justify-content:space-between;gap:12px;background:linear-gradient(180deg,rgba(3,10,24,0),rgba(3,10,24,.98) 28%);padding-top:22px}
.drawer-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;border:1px solid rgba(80,140,220,.2);border-radius:14px;padding:16px;margin-bottom:14px;text-align:center;background:rgba(4,18,40,.62)}
.drawer-tabs{display:flex;gap:8px;overflow:auto;border-bottom:1px solid rgba(80,140,220,.18);margin-bottom:14px}
.drawer-tabs button{border:0;background:transparent;color:#aebfd5;padding:10px 6px;border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}
.drawer-tabs button.active{color:#fff;border-bottom-color:#2f7dff}
@media (max-width:1100px){.ops-stat-grid{grid-template-columns:repeat(2,1fr)}.ops-filter-row{grid-template-columns:1fr}.ops-form-grid,.result-grid{grid-template-columns:1fr}}

/* Broadcast Talent */
.broadcast-talent-page .talent-main{max-width:1280px}
.talent-tabs{margin:14px 0 18px}
.talent-tabs span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:20px;border-radius:999px;background:rgba(255,255,255,.1);font-size:11px;margin-left:6px;color:#dcecff}
.talent-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr;gap:12px;margin:0 0 16px}
.talent-table tbody tr{cursor:pointer}
.role-chip{display:inline-flex;align-items:center;border-radius:8px;padding:5px 8px;background:rgba(126,87,255,.2);color:#d9ceff;font-size:12px;font-weight:700;margin:2px}
.role-chip.blue{background:rgba(0,157,255,.18);color:#9bd8ff}
.role-chip.green{background:rgba(50,210,130,.16);color:#8effc0}
.role-chip.gold{background:rgba(240,190,60,.16);color:#ffd166}
.chip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.chip-grid label{display:flex;align-items:center;gap:8px;border:1px solid rgba(80,140,220,.2);border-radius:10px;padding:10px;color:#fff;background:rgba(4,18,40,.5)}
.chip-grid input{width:auto}
textarea{width:100%;border:1px solid var(--border);border-radius:12px;background:var(--panel-2);color:var(--text);padding:12px 13px;outline:none}
@media (max-width:1100px){.talent-toolbar{grid-template-columns:1fr}.chip-grid{grid-template-columns:1fr}}


/* Tournament Hub operations tabs use table-first layouts, not the legacy bracket flex canvas. */
.comp-hub-page #bracketHubPanel #bracketPreview,
.comp-hub-page #roundTimesPanel #roundTimesHost {
  display: block;
  width: 100%;
  min-height: 0;
  overflow: visible;
}

.comp-hub-page #bracketHubPanel .compact-section-header,
.comp-hub-page #roundTimesPanel > .compact-section-header,
.comp-hub-page #ladderBracketHubPanel > .compact-section-header {
  margin-bottom: 18px;
}

.comp-hub-page .ops-matches-host {
  display: block !important;
  width: 100%;
  min-height: 0;
  overflow: visible;
}

.comp-hub-page .ops-page-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin: 0 0 20px;
}

.comp-hub-page .ops-stat-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(130px, 1fr));
  gap: 12px;
  margin: 0 0 18px;
}

.comp-hub-page .ops-filter-row {
  display: grid;
  grid-template-columns: minmax(240px, 2fr) minmax(150px, 1fr) minmax(150px, 1fr) minmax(150px, 1fr);
  gap: 12px;
  margin: 0 0 14px;
}

.comp-hub-page .ops-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.comp-hub-page .ops-table {
  width: 100%;
}

.comp-hub-page .matches-ops-table {
  min-width: 980px;
}

.comp-hub-page .round-setup-table {
  min-width: 1320px;
}

@media (max-width: 1100px) {
  .comp-hub-page .ops-stat-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr));
  }

  .comp-hub-page .ops-filter-row {
    grid-template-columns: 1fr;
  }
}


.ops-teams-cell,
.ops-team-inline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ops-teams-cell {
  flex-wrap: wrap;
}

.ops-team-logo {
  width: 26px;
  height: 26px;
  border: 1px solid rgba(148, 163, 184, 0.35);
  border-radius: 999px;
  background: rgba(15, 23, 42, 0.7);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #cbd5e1;
  font-size: 0.72rem;
  font-weight: 800;
  flex: 0 0 auto;
}

.ops-team-logo.large {
  width: 42px;
  height: 42px;
  font-size: 0.9rem;
}

.ops-team-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.ops-map-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.ops-game-result-entry {
  margin-top: 10px;
}

.ops-game-result-entry .game-result-row,
.ops-game-result-entry .game-result-header {
  grid-template-columns: 80px minmax(110px, 1fr) 90px 90px;
}


.matches-ops-table [data-match-row] {
  cursor: pointer;
}

.matches-ops-table [data-match-row].is-open {
  outline: 1px solid rgba(47, 125, 255, 0.85);
  outline-offset: -1px;
  background: rgba(47, 125, 255, 0.09);
}

.ops-drawer-teams-fixed {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: stretch;
}

.drawer-team-side {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  min-width: 0;
  text-align: center;
}

.drawer-team-side strong {
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  line-height: 1.2;
}

.drawer-vs {
  align-self: center;
  color: #cbd5e1;
  font-weight: 800;
  font-size: 0.8rem;
  text-transform: uppercase;
}

.ops-roster-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.ops-team-roster-card {
  border: 1px solid rgba(80, 140, 220, 0.2);
  border-radius: 12px;
  background: rgba(2, 12, 30, 0.45);
  padding: 12px;
  min-width: 0;
}

.ops-team-roster-head {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(80, 140, 220, 0.16);
}

.ops-team-roster-head strong {
  overflow-wrap: anywhere;
}

.ops-team-roster-card ul {
  list-style: none;
  padding: 10px 0 0;
  margin: 0;
  display: grid;
  gap: 7px;
}

.ops-team-roster-card li {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: #e5edf7;
}

.ops-team-roster-card small,
.ops-roster-empty {
  color: #8fa3bd;
}

.ops-map-list {
  display: grid;
  gap: 8px;
}

.ops-map-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid rgba(80, 140, 220, 0.18);
  border-radius: 10px;
  padding: 10px 12px;
  background: rgba(2, 12, 30, 0.42);
}

@media (max-width: 620px) {
  .ops-roster-grid {
    grid-template-columns: 1fr;
  }
}


.ops-overview-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.ops-overview-summary > div {
  border: 1px solid rgba(59, 130, 246, 0.25);
  border-radius: 12px;
  padding: 10px 12px;
  background: rgba(15, 23, 42, 0.45);
}

.ops-overview-summary span {
  display: block;
  color: #9fb0c7;
  font-size: 12px;
  margin-bottom: 4px;
}

.ops-overview-summary strong {
  color: #fff;
  font-size: 14px;
}

.ops-drawer-teams-fixed {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}

.ops-drawer-teams-fixed .drawer-team-side {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
}

.ops-drawer-teams-fixed .drawer-team-side strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.ops-team-inline,
.ops-team-roster-head {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.ops-team-logo {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.35);
  background: rgba(15, 23, 42, 0.7);
  font-size: 10px;
  color: #cbd5e1;
}

.ops-team-logo.large {
  width: 38px;
  height: 38px;
  font-size: 12px;
}

.ops-team-logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ops-dq-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.ops-drawer-section textarea {
  width: 100%;
  resize: vertical;
  min-height: 110px;
}

.ops-drawer-section.compact {
  margin-top: 14px;
}

@media (max-width: 720px) {
  .ops-overview-summary,
  .ops-dq-actions {
    grid-template-columns: 1fr;
  }
}


.ops-section-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.match-lobby-compact {
  padding: 14px;
}

.lobby-mini-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.lobby-mini-grid input {
  min-height: 36px;
  padding: 8px 10px;
}

.broadcast-select-grid select {
  min-width: 0;
}

.match-activity-list {
  display: grid;
  gap: 10px;
}

.match-activity-item {
  border: 1px solid rgba(68, 144, 255, 0.22);
  border-radius: 12px;
  padding: 12px;
  background: rgba(5, 17, 34, 0.55);
}

.match-activity-item strong,
.match-activity-item span {
  display: block;
}

.match-activity-item span {
  color: var(--muted, #9aa8bd);
  font-size: 12px;
  margin-top: 3px;
}

.match-activity-item ul {
  margin: 8px 0 0;
  padding-left: 18px;
  color: var(--muted, #9aa8bd);
}

@media (max-width: 720px) {
  .lobby-mini-grid {
    grid-template-columns: 1fr;
  }
}

/* Match drawer result save actions */
#opsDrawer .game-result-header,
#opsDrawer .game-result-row {
  grid-template-columns: 78px minmax(110px, 1fr) 74px 74px 46px;
}

#opsDrawer .game-save-btn {
  width: 36px;
  min-width: 36px;
  min-height: 34px;
  padding: 7px 9px;
  border-radius: 10px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

#opsDrawer .game-save-btn.is-saved,
#opsDrawer .game-result-row.is-saved .game-save-btn {
  border-color: rgba(34, 197, 94, 0.85);
  background: rgba(34, 197, 94, 0.18);
  color: #7dffad;
}

#opsDrawer .game-result-row.is-saved {
  border-color: rgba(34, 197, 94, 0.38);
}

#opsDrawer .lobby-mini-grid input[data-ops-lobby-username] {
  max-width: 100%;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

#opsDrawer .match-activity-item li {
  line-height: 1.35;
}


/* Bracketr lifecycle workspace - Stage 1 Review */
.brk-lifecycle-page .lifecycle-main{padding:calc(var(--top,64px) + 14px) 42px 40px;max-width:none;overflow-x:hidden}
.lifecycle-root{max-width:1560px;margin:0 auto;color:#f5f8ff}
.lifecycle-breadcrumb{font-size:13px;color:#9fb4d3;margin:0 0 10px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.lifecycle-breadcrumb a{color:#cfe2ff;text-decoration:none}
.lifecycle-breadcrumb a:hover{color:#fff;text-decoration:underline}
.breadcrumb-separator{color:#5f789d}
.lifecycle-header{position:relative;z-index:60;display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:20px;align-items:center;min-height:112px;margin-bottom:8px}
.lifecycle-logo-stack{display:grid;gap:8px;justify-items:center;align-content:start}
.lifecycle-logo{width:82px;height:82px;border:1px solid rgba(73,126,190,.45);border-radius:10px;background:#071426;display:grid;place-items:center;overflow:hidden;font-weight:900}
.lifecycle-logo img{width:100%;height:100%;object-fit:cover;display:block}
.lifecycle-logo-action{width:100%;min-height:34px!important;padding:0 10px!important;font-size:12px!important;white-space:normal;text-align:center}
.lifecycle-title h1{margin:0 0 8px;font-size:28px;line-height:1.1}
.lifecycle-meta{display:flex;gap:16px;flex-wrap:wrap;color:#c6d5ec;font-size:14px}
.lifecycle-meta span:not(.lifecycle-meta-chip){display:none}
.lifecycle-meta-chip{display:inline-flex;align-items:center;gap:8px;min-height:26px}
.lifecycle-meta-chip:before{content:attr(data-meta-icon);display:grid;place-items:center;width:22px;height:22px;border:1px solid rgba(56,118,180,.32);border-radius:6px;background:rgba(38,132,255,.12);color:#8cc8ff;font-size:9px;font-weight:900;line-height:1}
.lifecycle-actions{display:flex;align-items:center;gap:12px;flex-wrap:nowrap;justify-content:flex-end}
.lifecycle-actions>a.brk-btn:first-child{font-size:0}
.lifecycle-actions>a.brk-btn:first-child:before{content:"Preview Public Page";font-size:14px}
.lifecycle-edit-menu>button.brk-btn{font-size:0}
.lifecycle-edit-menu>button.brk-btn:before{content:"Edit Info";font-size:14px}
.lifecycle-edit-menu>button.brk-btn:after{content:"v";font-size:11px;margin-left:10px;color:#9fb4d3}
.lifecycle-edit-menu{position:relative;z-index:80}
.lifecycle-edit-menu-panel{position:absolute;right:0;top:calc(100% + 8px);z-index:90;display:none;min-width:210px;padding:8px;background:#071426;border:1px solid rgba(73,126,190,.55);border-radius:10px;box-shadow:0 18px 45px rgba(0,0,0,.34)}
.lifecycle-edit-menu.open .lifecycle-edit-menu-panel{display:grid;gap:4px}
.lifecycle-edit-menu-panel button{appearance:none;border:0;background:transparent;color:#eaf3ff;border-radius:8px;text-align:left;padding:10px 12px;font:inherit;cursor:pointer}
.lifecycle-edit-menu-panel button:hover{background:rgba(77,140,255,.16);color:#fff}
.lifecycle-stage-card,.lifecycle-panel,.lifecycle-notice{border:1px solid rgba(56,118,180,.45);background:linear-gradient(180deg,rgba(9,25,45,.95),rgba(5,17,34,.95));border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.lifecycle-stage-card{position:fixed;left:calc(var(--sidebar,230px) + 300px);right:390px;top:9px;z-index:46;display:flex;align-items:center;height:46px;margin:0;padding:0 16px;overflow:hidden;border-color:rgba(56,118,180,.18);border-radius:12px;background:rgba(8,20,35,.72);box-shadow:none;backdrop-filter:blur(14px)}
.lifecycle-stage-line{position:absolute;left:34px;right:34px;top:22px;height:1px;background:rgba(117,145,180,.2)}
.lifecycle-stages{position:relative;display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));gap:10px;width:100%;z-index:1}
.lifecycle-stage{appearance:none;border:0;background:transparent;color:#dcecff;text-align:center;display:flex;align-items:center;justify-content:center;gap:7px;font:inherit;min-width:0;padding:0}
.lifecycle-stage-dot{flex:0 0 auto;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;border:2px solid rgba(111,133,165,.25);background:#0d1624;color:#9db0ca;font-weight:900;box-shadow:0 0 0 3px rgba(0,0,0,.15)}
.lifecycle-stage.active .lifecycle-stage-dot{border-color:#1f86ff;color:#fff;box-shadow:0 0 0 4px rgba(31,134,255,.16),0 0 18px rgba(31,134,255,.32)}
.lifecycle-stage.complete .lifecycle-stage-dot{border-color:#2bbf74;color:#fff}
.lifecycle-stage.locked .lifecycle-stage-dot{opacity:.78}
.lifecycle-stage-label{font-weight:800;font-size:12px;white-space:nowrap}
.lifecycle-stage-sub{display:none}
.lifecycle-stage.active .lifecycle-stage-sub{color:#2fd7ff}
.lifecycle-stage.complete .lifecycle-stage-sub{color:#42e58e}
.lifecycle-notice{display:flex;align-items:center;gap:14px;padding:11px 16px;margin-bottom:16px}
.lifecycle-notice p{margin:0;flex:1;color:#cbd8ed}
.lifecycle-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:16px;align-items:start}
.lifecycle-workspace{display:grid;grid-template-columns:1fr;gap:16px;min-width:0}
.lifecycle-panel{padding:18px;min-width:0}
.lifecycle-panel h2{margin:0 0 14px;font-size:18px}
.hub-applications-panel{margin-top:16px}
.hub-applications-list{display:grid;gap:12px}
.hub-application-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid rgba(56,118,180,.38);border-radius:10px;background:rgba(4,15,31,.62);padding:14px}
.hub-application-card p{margin:5px 0 0}
.hub-application-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.hub-application-card .application-title-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.hub-application-card .application-status-badge{border:1px solid currentColor;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;text-transform:uppercase}
@media (max-width:780px){.hub-application-card{grid-template-columns:1fr}.hub-application-actions{justify-content:flex-start}}
.readiness-panel{min-height:196px}
.readiness-body{display:flex;align-items:center;gap:28px;margin:14px 0 14px}
.readiness-ring{--pct:0;width:118px;height:118px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#4d8cff calc(var(--pct)*1%), rgba(120,147,186,.18) 0);position:relative;flex:0 0 auto}
.readiness-ring:after{content:"";position:absolute;inset:12px;border-radius:50%;background:#0a1727}
.readiness-ring strong,.readiness-ring span{position:relative;z-index:1}
.readiness-ring strong{font-size:26px}.readiness-ring span{font-size:12px;color:#c6d5ec;margin-top:34px;position:absolute}
.readiness-checks{display:grid;grid-template-columns:repeat(2,minmax(190px,1fr));gap:8px 22px}
.readiness-checks .ok{color:#48e98b}.readiness-checks .warn{color:#ffbf42}
.review-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.metric-card{border:1px solid rgba(56,118,180,.45);background:rgba(9,25,45,.92);border-radius:12px;padding:16px;min-height:150px;display:flex;flex-direction:column;gap:8px;min-width:0}
.metric-icon{width:32px;height:32px;border-radius:8px;background:#123766;display:grid;place-items:center}
.metric-card small,.metric-card span{color:#aec0dc}.metric-card strong{font-size:28px;line-height:1.15;word-break:break-word}.metric-card a{margin-top:auto;color:#54a7ff;text-decoration:none}
.review-shortcut-card{cursor:pointer}
.review-shortcut-card:hover{border-color:rgba(84,167,255,.72);transform:translateY(-1px)}
.review-shortcut-card:focus-visible{outline:2px solid #54a7ff;outline-offset:3px}
.metric-card-link{margin-top:auto;color:#54a7ff!important}
.metric-card.ready{border-color:rgba(72,233,139,.45)}
.metric-card.ready .metric-icon{background:rgba(27,143,82,.24);color:#48e98b}
.metric-card.ready .metric-status,.metric-status-check{color:#48e98b}
.quick-actions-panel{grid-column:auto}
.quick-actions-list{display:grid;gap:0}
.quick-action{appearance:none;border:0;border-top:1px solid rgba(91,128,174,.22);background:transparent;color:#f8fbff;display:grid;grid-template-columns:42px minmax(0,1fr) 20px;gap:14px;align-items:center;text-align:left;padding:14px 4px;cursor:pointer;font:inherit;width:100%;min-width:0}
.quick-action:disabled,.brk-btn:disabled{opacity:.48;cursor:not-allowed;filter:saturate(.6)}
.quick-action:disabled .quick-icon{background:#1a2638;color:#8ea1bd}
.quick-action:first-child{border-top:0}
.quick-icon{width:34px;height:34px;border-radius:8px;background:#153d70;display:grid;place-items:center}
.quick-action strong{display:block;white-space:normal;line-height:1.25}
.quick-action small{display:block;color:#9fb4d3;line-height:1.35;margin-top:3px;white-space:normal}
.public-panel{overflow:hidden}
.viewer-link-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin:12px 0 16px}
.viewer-link-row input{width:100%;box-sizing:border-box;background:#071426;border:1px solid rgba(56,118,180,.45);border-radius:8px;color:#eaf3ff;padding:11px 12px;font:inherit}
.registration-link-box{margin:18px 0 16px;padding:14px 16px;border:1px solid rgba(56,118,180,.42);border-radius:10px;background:rgba(5,18,35,.72)}
.registration-link-box h2{margin:0 0 4px!important;font-size:16px!important}
.registration-link-box p{margin:0}
.registration-link-box .viewer-link-row{margin:12px 0 0}
.seeding-direct-box{display:flex;align-items:center;justify-content:space-between;gap:18px;border:1px solid rgba(36,201,255,.38);border-radius:12px;background:linear-gradient(135deg,rgba(6,35,64,.86),rgba(6,18,35,.82));padding:16px;margin:18px 0 14px;box-shadow:0 16px 32px rgba(0,0,0,.18)}
.seeding-direct-box div{display:grid;gap:4px;min-width:0}
.seeding-direct-box span{color:#24c9ff;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.seeding-direct-box strong{color:#fff;font-size:20px;line-height:1.15}
.seeding-direct-box small{color:#9fb4d3;line-height:1.35}
.seeding-direct-box .brk-btn{flex:0 0 auto;min-width:180px;justify-content:center}
.seeding-summary-box{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:18px 0 16px}
.seeding-summary-box div{min-height:74px;border:1px solid rgba(56,118,180,.42);border-radius:10px;background:rgba(5,18,35,.72);padding:12px;display:grid;align-content:center;gap:4px}
.seeding-summary-box span{color:#9fb4d3;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.seeding-summary-box strong{color:#fff;font-size:22px;line-height:1}
.hub-seeding-page{display:grid;gap:16px}
.hub-seeding-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}
.hub-seeding-head h2{margin:4px 0 0;color:#fff;font-size:18px;line-height:1.25}
.hub-seeding-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}
.hub-seeding-note{border:1px solid rgba(36,130,255,.45);border-radius:8px;background:rgba(10,45,89,.58);color:#cfe3ff;padding:13px 16px;font-size:14px}
.hub-seeding-layout{display:grid;grid-template-columns:minmax(440px,1.05fr) minmax(500px,1.45fr) minmax(260px,.72fr);gap:14px;align-items:start}
.hub-seeding-card{border:1px solid rgba(56,118,180,.32);border-radius:8px;background:linear-gradient(180deg,rgba(10,24,42,.88),rgba(5,15,29,.92));padding:16px;box-shadow:0 18px 42px rgba(0,0,0,.16);min-width:0}
.hub-seeding-card h3{margin:0;color:#fff;font-size:16px}
.hub-seeding-card p{margin:5px 0 0;color:#9fb4d3;font-size:13px;line-height:1.35}
.hub-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}
.hub-card-head>span{border:1px solid rgba(118,143,179,.32);border-radius:8px;background:rgba(255,255,255,.06);color:#dceaff;font-weight:900;font-size:12px;padding:5px 8px}
.hub-seed-list{border:1px solid rgba(56,118,180,.22);border-radius:8px;overflow:hidden;background:rgba(4,12,24,.42)}
.hub-seed-row{display:grid;grid-template-columns:42px 46px minmax(190px,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px;border-bottom:1px solid rgba(56,118,180,.2);background:rgba(11,25,42,.72);cursor:grab}
.hub-seed-row:last-child{border-bottom:0}
.hub-seed-row.dragging{opacity:.55}
.hub-seed-handle,.hub-icon-btn{display:grid;place-items:center;border:1px solid rgba(72,124,180,.4);border-radius:6px;background:rgba(8,24,42,.86);color:#bde6ff;cursor:pointer}
.hub-seed-handle{width:26px;height:26px;font-size:16px}
.hub-seed-number{display:grid;place-items:center;height:26px;border-radius:6px;background:rgba(255,255,255,.06);color:#dfeaff;font-size:13px;font-weight:900}
.hub-seed-logo,.hub-pool-logo{display:grid;place-items:center;overflow:hidden;background:rgba(3,10,19,.82);border:1px solid rgba(56,118,180,.28);color:#fff;font-weight:900}
.hub-seed-logo{width:38px;height:38px;border-radius:7px}
.hub-seed-logo img,.hub-pool-logo img{width:100%;height:100%;object-fit:contain}
.hub-seed-title{display:flex;align-items:center;gap:8px;min-width:0}
.hub-seed-title strong{color:#fff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}
.hub-seed-title span,.hub-team-pool-card small{border:1px solid rgba(0,183,255,.22);border-radius:7px;background:rgba(0,91,170,.25);color:#bfe2ff;font-size:10px;font-weight:900;line-height:1;padding:3px 7px;text-transform:uppercase}
.hub-seed-roster{display:flex;align-items:flex-start;gap:7px;margin-top:5px;color:#aebed6;font-size:12px;min-width:0}
.hub-seed-roster>div{display:flex;align-items:center;gap:5px;min-width:0;flex-wrap:wrap}
.hub-seed-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.hub-icon-btn{width:32px;height:32px;font-size:16px}
.hub-icon-btn:disabled{opacity:.38;cursor:not-allowed}
.hub-remove-btn{border:1px solid rgba(255,59,92,.7);border-radius:8px;background:rgba(65,8,24,.42);color:#ff9aad;font-weight:900;padding:8px 14px;cursor:pointer}
.hub-pool-filters{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-bottom:12px}
.hub-pool-filters input,.hub-pool-filters select{background:#071426;border:1px solid rgba(56,118,180,.4);border-radius:7px;color:#eaf3ff;padding:10px 12px;font:inherit;min-width:0}
.hub-team-pool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.hub-team-pool-card{position:relative;display:grid;justify-items:center;gap:8px;min-height:116px;padding:12px;border:1px solid rgba(56,118,180,.24);border-radius:8px;background:linear-gradient(180deg,rgba(14,31,51,.86),rgba(8,20,36,.84));text-align:center}
.hub-pool-check{position:absolute;top:10px;left:10px;display:grid;place-items:center;width:18px;height:18px;border-radius:4px;background:#2684ff;color:#fff;font-size:12px;font-weight:900}
.hub-pool-logo{width:48px;height:48px;border-radius:8px}
.hub-team-pool-card strong{color:#fff;font-size:13px;line-height:1.2}
.hub-add-team-drop{display:grid;place-items:center;gap:5px;width:100%;min-height:72px;margin-top:12px;border:1px dashed rgba(91,128,174,.42);border-radius:8px;background:rgba(5,16,30,.42);color:#d8e8ff;font:inherit;font-weight:900;cursor:default}
.hub-add-team-drop strong{color:#fff;font-size:15px}
.hub-add-team-drop span{color:#95a8c3;font-size:12px;font-weight:500}
.hub-seeding-side{display:grid;gap:14px}
.hub-summary-list{display:grid;gap:0;margin-top:10px}
.hub-summary-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid rgba(91,128,174,.18)}
.hub-summary-list div:last-child{border-bottom:0}
.hub-summary-list span{color:#aebed6;font-size:13px}.hub-summary-list strong{color:#fff}
.hub-bracket-preview-lines{position:relative;min-height:150px;margin-top:12px;overflow:hidden;border-radius:8px;background:rgba(7,18,34,.68)}
.hub-bracket-seeds{position:absolute;left:16px;top:12px;display:grid;gap:6px}
.hub-bracket-seeds span{display:block;width:72px;height:18px;border-radius:4px;background:rgba(91,128,174,.25);color:#dceaff;font-size:11px;font-weight:900;padding-left:8px;line-height:18px}
.hub-bracket-line{position:absolute;border-color:rgba(144,176,213,.62)}
.hub-bracket-line.line-a{left:88px;top:22px;width:42px;height:54px;border-top:1px solid;border-right:1px solid;border-bottom:1px solid}
.hub-bracket-line.line-b{left:88px;top:88px;width:42px;height:54px;border-top:1px solid;border-right:1px solid;border-bottom:1px solid}
.hub-bracket-line.line-c{left:130px;top:49px;width:54px;height:66px;border-top:1px solid;border-right:1px solid;border-bottom:1px solid}
.hub-seeding-actions{display:grid;gap:10px}.hub-seeding-actions .brk-btn{justify-content:center;width:100%}
.hub-seeding-warning{border:1px solid rgba(34,197,94,.28);border-radius:8px;background:rgba(7,63,43,.42);color:#c9f7d9;padding:14px 16px;font-size:13px}
.hub-seeding-lock{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding:12px;border-radius:8px;background:rgba(2,10,20,.48)}
.hub-seeding-lock strong{display:block;color:#fff}.hub-seeding-lock small{display:block;color:#9fb4d3;margin-top:2px}
.hub-switch input{display:none}.hub-switch span{display:block;width:42px;height:24px;border-radius:999px;background:#22314a;position:relative}.hub-switch span:before{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:999px;background:#d8e6f7}
.hub-switch input:checked+span{background:#2684ff}.hub-switch input:checked+span:before{left:21px}
.hub-team-pool-empty,.seeding-empty-state{color:#9fb4d3;padding:24px;text-align:center}
.hub-scheduling-page{display:grid;gap:16px}
.hub-live-page{display:grid;gap:16px}
.hub-results-page{display:grid;gap:16px}
.hub-results-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.hub-results-main{display:grid;gap:16px}.hub-results-side{display:grid;gap:16px}
.hub-results-top{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(260px,.9fr);gap:16px}.hub-results-mid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:16px}
.hub-results-hero{position:relative;min-height:220px;display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:24px;overflow:hidden;text-align:left}.hub-results-hero h2{margin:0;color:#fff;font-size:28px}.hub-results-hero p{color:#d4e2f5}.hub-results-hero span{display:block;color:#48e98b;font-size:12px;text-transform:uppercase;font-weight:900;margin-top:18px}.hub-results-hero strong{display:block;color:#fff;font-size:34px;line-height:1.1}.hub-results-hero small{display:block;margin-top:16px;color:#dce8f8}.hub-trophy{font-size:78px;text-align:center;filter:drop-shadow(0 20px 30px rgba(0,0,0,.45))}
.hub-confetti:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 22%,#58d77c 0 3px,transparent 4px),radial-gradient(circle at 24% 68%,#ffb020 0 3px,transparent 4px),radial-gradient(circle at 68% 18%,#ff596f 0 3px,transparent 4px),radial-gradient(circle at 82% 55%,#58a6ff 0 3px,transparent 4px),radial-gradient(circle at 48% 34%,#a78bfa 0 3px,transparent 4px);opacity:.8}
.hub-event-summary .hub-summary-list{margin-top:14px}.hub-final-standings>div:last-child,.hub-awards{display:grid;gap:8px}
.hub-standing-row{display:grid;grid-template-columns:44px 42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:46px;padding:10px 12px;border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(7,18,34,.54);color:#dce8f8}.hub-standing-row.rank-1{background:linear-gradient(90deg,rgba(161,117,24,.28),rgba(7,18,34,.58));border-color:rgba(255,190,76,.28)}.hub-standing-row span{display:grid;place-items:center;width:24px;height:24px;border-radius:999px;background:rgba(255,255,255,.08);font-weight:900}.hub-standing-row b{color:#24c9ff;font-size:24px}.hub-standing-row strong{color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-standing-row em{font-style:normal;color:#ffd27a;font-weight:900}.hub-standing-row.grouped{grid-template-columns:44px minmax(0,1fr) auto}
.hub-award-row{display:grid;grid-template-columns:44px minmax(0,1fr) 42px;align-items:center;gap:14px;min-height:58px;padding:10px;border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(7,18,34,.54)}.hub-award-row>span{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:rgba(38,132,255,.18);color:#85bdff}.hub-award-row strong{color:#fff}.hub-award-row small{display:block;color:#9fb4d3;margin-top:3px}.hub-award-row b{display:grid;place-items:center;width:36px;height:36px;border-radius:999px;background:rgba(56,118,180,.22);color:#24c9ff}
.hub-event-activity{overflow:hidden}.hub-results-timeline{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;margin-top:16px;position:relative}.hub-results-timeline:before{content:"";position:absolute;left:5%;right:5%;top:14px;height:2px;background:rgba(91,128,174,.42)}.hub-results-timeline div{position:relative;display:grid;gap:8px;justify-items:center;text-align:center;color:#dce8f8}.hub-results-timeline span{z-index:1;display:grid;place-items:center;width:28px;height:28px;border-radius:999px;background:#2fb344;color:#fff}.hub-results-timeline strong{font-size:12px}.hub-results-timeline small{color:#9fb4d3;font-size:11px}
.hub-publish-list{display:grid;gap:12px;margin:16px 0}.hub-publish-list div{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start}.hub-publish-list span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#2fb344;color:#fff;font-size:12px}.hub-publish-list strong{color:#fff}.hub-publish-list small{display:block;color:#9fb4d3;margin-top:3px}.hub-results-side .brk-btn{width:100%;justify-content:center;margin-top:8px}.hub-archive-card h3{color:#ff7c95}.hub-archive-card .brk-btn{border-color:rgba(255,59,92,.5)}
@media (max-width:1350px){.hub-results-layout{grid-template-columns:1fr}.hub-results-side{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-results-top,.hub-results-mid{grid-template-columns:1fr}.hub-results-timeline{grid-template-columns:repeat(4,minmax(0,1fr));row-gap:20px}}
@media (max-width:760px){.hub-results-side,.hub-results-timeline{grid-template-columns:1fr}.hub-results-hero{grid-template-columns:1fr;text-align:center}.hub-standing-row{grid-template-columns:36px 34px minmax(0,1fr)}.hub-standing-row em{grid-column:3}.hub-results-timeline:before{display:none}}
.hub-schedule-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:14px;align-items:start}
.hub-schedule-main{display:grid;gap:14px;min-width:0}.hub-schedule-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.hub-schedule-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.hub-schedule-stats .hub-seeding-card{min-height:84px;display:grid;align-content:center;gap:5px}.hub-schedule-stats strong{color:#fff;font-size:24px}.hub-schedule-stats span{color:#c2d4ec}.hub-schedule-stats small{color:#9fb4d3}.hub-progress-bar.good i{background:#58d77c}.hub-progress-bar.warn i{background:#ffb020}
.hub-schedule-filterbar{display:grid;grid-template-columns:minmax(0,1fr) 220px 150px;gap:10px;align-items:center}.hub-round-tabs{display:flex;gap:6px;overflow:auto}.hub-round-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:#cfe0f6;padding:12px 14px;font:inherit;font-weight:900;white-space:nowrap;cursor:pointer}.hub-round-tabs button.active{border-color:#2684ff;color:#fff}.hub-schedule-filterbar input,.hub-schedule-filterbar select{background:#071426;border:1px solid rgba(56,118,180,.4);border-radius:7px;color:#eaf3ff;padding:11px 12px;font:inherit;min-width:0}
.hub-schedule-table{padding:0;overflow:hidden}.hub-schedule-row{display:grid;grid-template-columns:22px 56px 96px minmax(220px,1fr) 70px 66px 100px 130px 100px 94px 28px;align-items:center;gap:10px;min-height:50px;padding:8px 14px;border-bottom:1px solid rgba(56,118,180,.16);color:#dce8f8;cursor:pointer}.hub-schedule-row.head{min-height:38px;background:rgba(5,15,29,.5);color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase;cursor:default}.hub-schedule-row.selected{background:rgba(38,132,255,.22);box-shadow:inset 3px 0 0 #2684ff}.hub-schedule-row:last-child{border-bottom:0}
.hub-row-dot{width:8px;height:8px;border-radius:999px;border:1px solid rgba(160,187,220,.7)}.hub-schedule-row.selected .hub-row-dot{background:#2684ff;border-color:#2684ff}.hub-schedule-teams{display:flex;align-items:center;gap:7px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-schedule-teams b{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(56,118,180,.22);color:#24c9ff}.hub-schedule-teams em{color:#9fb4d3;font-style:normal;font-size:12px}.hub-stream-pill{display:inline-flex;border-radius:6px;background:rgba(87,60,190,.35);color:#d9d0ff;padding:4px 8px;font-style:normal;font-size:11px;font-weight:900}.hub-match-status{display:inline-flex;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:900;text-transform:uppercase;font-style:normal}.hub-match-status.scheduled{background:rgba(34,197,94,.18);color:#58d77c}.hub-match-status.pending{background:rgba(245,158,11,.18);color:#ffb020}.hub-match-status.live{background:rgba(255,59,92,.18);color:#ff7c95}.hub-match-status.completed{background:rgba(94,130,178,.25);color:#cfe0f6}
.hub-schedule-detail{position:sticky;top:calc(var(--top,72px) + 18px)}.hub-match-versus{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;border:1px solid rgba(56,118,180,.25);border-radius:8px;background:rgba(5,15,29,.45);padding:14px;text-align:center}.hub-match-versus b{display:grid;place-items:center;width:46px;height:46px;border-radius:999px;background:rgba(56,118,180,.22);color:#58d77c;margin:0 auto 8px}.hub-match-versus strong{color:#fff}.hub-match-versus span{color:#fff;font-weight:900}
.hub-detail-tabs{display:flex;gap:10px;margin:16px 0 12px;border-bottom:1px solid rgba(56,118,180,.2)}.hub-detail-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:#9fb4d3;padding:0 0 10px;font:inherit;font-size:12px;cursor:pointer}.hub-detail-tabs button.active{border-color:#2684ff;color:#fff}
.hub-match-detail-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(56,118,180,.24);border-radius:8px;overflow:hidden}.hub-match-detail-grid div{min-height:66px;padding:12px;border-right:1px solid rgba(56,118,180,.18);border-bottom:1px solid rgba(56,118,180,.18);display:grid;align-content:center;gap:5px}.hub-match-detail-grid div:nth-child(2n){border-right:0}.hub-match-detail-grid div:nth-last-child(-n+2){border-bottom:0}.hub-match-detail-grid span{color:#9fb4d3;font-size:12px}.hub-match-detail-grid strong{color:#fff}
.hub-schedule-detail .hub-seeding-actions{margin-top:14px;grid-template-columns:repeat(3,minmax(0,1fr))}.hub-schedule-detail .hub-seeding-actions h3{grid-column:1/-1}.hub-schedule-detail .hub-seeding-actions .brk-btn{font-size:12px;min-height:48px;white-space:normal}
.hub-schedule-detail .hub-seeding-actions .brk-btn.primary{grid-column:1/-1}
.hub-schedule-modal-card{width:min(760px,94vw);max-height:90vh;overflow:auto;background:linear-gradient(180deg,rgba(7,20,38,.98),rgba(3,10,24,.98))}
.hub-schedule-modal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.hub-schedule-modal-grid label{display:grid;gap:7px;color:#cfe0f6;font-size:12px;font-weight:800}
.hub-schedule-modal-grid input,.hub-schedule-modal-grid select{width:100%;background:#071426;border:1px solid rgba(56,118,180,.4);border-radius:8px;color:#fff;padding:11px 12px;font:inherit}
.hub-schedule-modal-grid .is-focus{border:1px solid rgba(36,201,255,.45);border-radius:10px;padding:10px;background:rgba(36,201,255,.06)}
.hub-schedule-modal .modal-header{align-items:flex-start;gap:16px}
.hub-schedule-room-field{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:8px;align-items:end;grid-column:1/-1}
.hub-schedule-room-field .brk-btn{min-height:42px;white-space:nowrap}
.hub-schedule-room-field input{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-transform:uppercase}
.hub-schedule-modal-grid label:has(select[name="scope"]),
.hub-schedule-modal-grid label:has(select[name="stream_mode"]){align-self:end}
.hub-live-stats .hub-seeding-card span{text-transform:uppercase;font-size:11px;font-weight:900}.hub-live-stats .live-now span{color:#ff596f}.hub-live-stats .upcoming span{color:#58a6ff}.hub-live-stats .waiting span{color:#ffb020}.hub-live-stats .completed span{color:#58d77c}
.live-tabs{grid-template-columns:minmax(0,1fr) 180px}.hub-live-section{padding:0;overflow:hidden}.hub-live-section h3{display:flex;align-items:center;gap:10px;margin:0;padding:14px 16px;border-bottom:1px solid rgba(56,118,180,.16)}.hub-live-section h3 span{color:#9fb4d3;font-size:12px}
.hub-live-list{display:grid}.hub-live-row{display:grid;grid-template-columns:88px 62px 58px minmax(130px,1fr) 24px minmax(130px,1fr) minmax(140px,.8fr) 112px 30px;gap:10px;align-items:center;min-height:50px;padding:8px 14px;border-bottom:1px solid rgba(56,118,180,.16);color:#dce8f8;cursor:pointer}.hub-live-row:last-child{border-bottom:0}.hub-live-row.selected,.hub-live-row.live.selected{background:rgba(255,59,92,.16);box-shadow:inset 3px 0 0 #ff596f}.hub-live-row.live{border-left:1px solid rgba(255,59,92,.6)}
.hub-live-row strong{color:#fff}.hub-live-row small{display:block;color:#9fb4d3;font-size:11px;margin-top:2px}.hub-live-row em{font-style:normal;color:#fff;font-weight:900;text-align:center}.hub-live-team{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hub-live-team b{display:grid;place-items:center;width:26px;height:26px;border-radius:999px;background:rgba(56,118,180,.22);color:#24c9ff;flex:0 0 26px}.hub-live-stream{color:#cfe0f6;font-size:12px}.hub-live-stream small{margin:2px 0 0}
.hub-live-pill{display:inline-flex;align-items:center;width:max-content;border-radius:6px;padding:4px 8px;background:rgba(94,130,178,.25);color:#cfe0f6;font-size:11px;font-weight:900;text-transform:uppercase;font-style:normal}.hub-live-pill.live{background:rgba(255,59,92,.24);color:#ff8b9e}.hub-live-pill.scheduled{background:rgba(38,132,255,.18);color:#85bdff}.hub-live-pill.completed{background:rgba(245,158,11,.18);color:#ffb020}
.hub-live-detail .hub-card-head h3{display:flex;align-items:center;gap:8px}.live-versus b{width:58px;height:58px;font-size:24px}.hub-score-summary{margin-top:14px;border:1px solid rgba(56,118,180,.24);border-radius:8px;background:rgba(7,18,34,.68);padding:14px;text-align:center}.hub-score-summary h3{text-align:left;margin:0 0 12px}.hub-score-summary div{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.hub-score-summary div strong{font-size:38px;color:#ff5c6e}.hub-score-summary div strong:last-child{color:#58a6ff}.hub-score-summary div span{color:#fff;font-weight:900}.hub-score-summary p{display:flex;align-items:center;justify-content:center;gap:12px;margin:4px 0 0;color:#cfe0f6}.hub-score-summary p span{border-radius:6px;background:rgba(255,255,255,.08);padding:3px 7px;font-size:11px;font-weight:900}
.hub-live-detail .hub-seeding-actions .brk-btn.primary{background:#2fb344}.hub-live-detail .hub-seeding-actions .brk-btn.danger{grid-column:1/-1}.hub-live-activity{margin-top:14px;background:rgba(7,18,34,.52)}
@media (max-width:1450px){.hub-live-row{min-width:1050px}.hub-live-section{overflow-x:auto}}
@media (max-width:760px){.live-tabs{grid-template-columns:1fr}.hub-live-row{grid-template-columns:1fr;min-width:0}.hub-live-row em{text-align:left}.hub-live-row .brk-btn{width:100%;justify-content:center}.hub-score-summary div strong{font-size:30px}}
@media (max-width:1450px){.hub-schedule-layout{grid-template-columns:1fr}.hub-schedule-detail{position:static}.hub-schedule-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.hub-schedule-table{overflow-x:auto}.hub-schedule-row{min-width:1120px}}
@media (max-width:760px){.hub-schedule-stats,.hub-schedule-filterbar,.hub-match-detail-grid,.hub-schedule-detail .hub-seeding-actions,.hub-schedule-room-field{grid-template-columns:1fr}.hub-schedule-actions{justify-content:flex-start}.hub-schedule-actions .brk-btn,.hub-schedule-room-field .brk-btn{width:100%;justify-content:center}}
.hub-registration-page{display:grid;gap:16px}
.hub-stage-title-row{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.hub-stage-title-row h2{margin:4px 0 0;color:#fff;font-size:18px}
.hub-registration-layout{display:grid;grid-template-columns:290px minmax(520px,1fr) 320px;gap:14px;align-items:start}
.hub-registration-left,.hub-registration-right{display:grid;gap:14px}
.hub-registration-link{display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:8px;margin:14px 0}.hub-registration-link input{min-width:0;background:#071426;border:1px solid rgba(56,118,180,.4);border-radius:7px;color:#eaf3ff;padding:11px 12px}.hub-registration-link button{border:1px solid rgba(56,118,180,.42);border-radius:7px;background:rgba(9,30,55,.86);color:#dff3ff;cursor:pointer}
.hub-registration-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hub-registration-card-actions .brk-btn{justify-content:center}
.hub-status-pill{display:inline-flex;margin-top:12px;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:900;text-transform:uppercase}.hub-status-pill.open{background:rgba(34,197,94,.18);color:#48e98b;border:1px solid rgba(34,197,94,.35)}
.hub-registration-table-card{padding:0;overflow:hidden}.hub-registration-tabs{display:flex;gap:8px;padding:16px 16px 0;border-bottom:1px solid rgba(56,118,180,.2)}.hub-registration-tabs button{appearance:none;border:0;border-bottom:2px solid transparent;background:transparent;color:#cfe0f6;padding:0 12px 13px;font:inherit;font-weight:900;cursor:pointer}.hub-registration-tabs button.active{color:#fff;border-color:#2684ff}.hub-registration-tabs span{display:inline-grid;place-items:center;min-width:24px;height:20px;margin-left:6px;border-radius:999px;background:rgba(94,130,178,.35);font-size:12px}
.hub-registration-filters{display:grid;grid-template-columns:minmax(0,1fr) 130px 130px;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(56,118,180,.18)}.hub-registration-filters input,.hub-registration-filters select{background:#071426;border:1px solid rgba(56,118,180,.4);border-radius:7px;color:#eaf3ff;padding:10px 12px;font:inherit;min-width:0}
.hub-registration-table{display:grid}.hub-registration-row{display:grid;grid-template-columns:28px minmax(150px,1.15fr) minmax(120px,.9fr) 80px 80px 120px 100px 120px;gap:12px;align-items:center;min-height:56px;padding:10px 16px;border-bottom:1px solid rgba(56,118,180,.16);color:#dce8f8}.hub-registration-row.head{min-height:auto;color:#9fb4d3;font-size:12px;font-weight:900;text-transform:none;background:rgba(5,15,29,.45)}.hub-registration-row:last-child{border-bottom:0}.hub-registration-row small{display:block;color:#8fa3be;font-size:11px;margin-top:3px}.hub-registration-row strong{color:#fff}
.hub-reg-team{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:10px;align-items:center}.hub-reg-team b{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:7px;background:rgba(22,45,72,.9);border:1px solid rgba(56,118,180,.3);color:#24c9ff}.hub-reg-team strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-registration-row .incomplete{color:#ff6785;font-weight:900}.hub-reg-status{display:inline-flex;border-radius:7px;padding:5px 9px;font-style:normal;font-size:11px;font-weight:900;text-transform:uppercase}.hub-reg-status.pending{background:rgba(245,158,11,.18);color:#ffb020}.hub-reg-status.approved{background:rgba(34,197,94,.18);color:#48e98b}.hub-reg-status.rejected{background:rgba(255,59,92,.16);color:#ff7c95}
.hub-reg-actions{display:flex;align-items:center;gap:8px}.hub-approve-btn,.hub-deny-btn,.hub-menu-btn{display:grid;place-items:center;border-radius:7px;border:1px solid rgba(56,118,180,.32);width:32px;height:32px;font-weight:900;cursor:pointer}.hub-approve-btn{background:rgba(34,197,94,.18);border-color:rgba(34,197,94,.35);color:#48e98b}.hub-deny-btn{background:rgba(255,59,92,.14);border-color:rgba(255,59,92,.35);color:#ff7c95}.hub-menu-btn{background:transparent;color:#9fb4d3}
.hub-summary-list strong.bad{color:#ff7c95}
@media (max-width:1450px){.hub-registration-layout{grid-template-columns:280px minmax(0,1fr)}.hub-registration-right{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.hub-registration-table{overflow-x:auto}.hub-registration-row{min-width:900px}}
@media (max-width:900px){.hub-stage-title-row{align-items:stretch;flex-direction:column}.hub-registration-layout,.hub-registration-right{grid-template-columns:1fr}.hub-registration-filters{grid-template-columns:1fr}.hub-registration-card-actions{grid-template-columns:1fr}}
.hub-checkin-page{display:grid;gap:16px}
.hub-checkin-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px;align-items:start}
.hub-checkin-overview{grid-column:1/2}
.hub-checkin-overview-row{display:grid;grid-template-columns:minmax(260px,.55fr) minmax(420px,1fr);gap:24px;align-items:center}
.hub-checkin-progress strong{display:block;color:#fff;font-size:30px;line-height:1}.hub-checkin-progress>span{display:block;color:#c6d6ec;margin-top:5px}
.hub-progress-bar{height:7px;border-radius:999px;background:#1a2a42;margin:12px 0 14px;overflow:hidden}.hub-progress-bar i{display:block;height:100%;border-radius:999px;background:#2684ff}
.hub-checkin-stat-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.hub-checkin-stat-row div{border:1px solid rgba(56,118,180,.3);border-radius:8px;background:rgba(6,18,35,.72);padding:10px}.hub-checkin-stat-row b{display:block;color:#fff}.hub-checkin-stat-row span{color:#9fb4d3;font-size:12px}
.hub-checkin-window{display:grid;grid-template-columns:1.35fr .55fr .55fr .8fr;border:1px solid rgba(56,118,180,.28);border-radius:8px;background:rgba(10,24,42,.78);overflow:hidden}
.hub-checkin-window>div{padding:18px;border-right:1px solid rgba(56,118,180,.22);display:grid;align-content:center;gap:4px}.hub-checkin-window>div:last-child{border-right:0}
.hub-checkin-window span{color:#2684ff}.hub-checkin-window small{color:#9fb4d3}.hub-checkin-window strong{color:#fff}.hub-checkin-countdown{border:1px solid rgba(255,59,111,.75)!important;border-radius:8px;margin:10px;background:rgba(42,9,26,.35);text-align:center}.hub-checkin-countdown small{color:#ff6e9b;text-transform:uppercase;font-weight:900}.hub-checkin-countdown strong{color:#ff4d82;font-size:26px}
.hub-checkin-control{grid-column:2/3;grid-row:1/2}.hub-summary-list strong.good{color:#48e98b}.hub-summary-list strong.warn{color:#ffb020}.brk-btn.danger{border-color:rgba(255,59,92,.48);background:rgba(65,8,24,.42);color:#ff8ba3}
.hub-checkin-list-card{min-height:360px}.hub-checkin-filters{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px;margin-bottom:12px}.hub-checkin-filters input,.hub-checkin-filters select{background:#071426;border:1px solid rgba(56,118,180,.4);border-radius:7px;color:#eaf3ff;padding:10px 12px;font:inherit;min-width:0}
.hub-checkin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hub-checkin-team{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:12px;border:1px solid rgba(56,118,180,.3);border-radius:8px;background:rgba(9,22,40,.78);padding:10px}.hub-checkin-team.checked{border-color:rgba(34,197,94,.38);background:rgba(7,47,36,.36)}.hub-checkin-team.waiting{border-color:rgba(245,158,11,.32)}
.hub-checkin-logo{display:grid;place-items:center;width:44px;height:44px;border-radius:8px;background:#071426;border:1px solid rgba(56,118,180,.38);color:#24c9ff;font-weight:900}.hub-checkin-main{min-width:0}.hub-checkin-main strong{display:block;color:#fff;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-checkin-main span,.hub-checkin-main small{display:block;color:#9fb4d3;font-size:12px;line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hub-checkmark{display:grid;place-items:center;width:28px;height:28px;border-radius:999px;border:1px solid rgba(34,197,94,.65);background:rgba(34,197,94,.18);color:#48e98b;font-weight:900;cursor:pointer}
.hub-checkin-feed{grid-column:2/3}.hub-feed-list{display:grid;gap:12px;margin-top:10px}.hub-feed-list div{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:10px;align-items:center}.hub-feed-list span{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;background:#16a34a;color:#fff;font-size:12px}.hub-feed-list strong{color:#dfeaff;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-feed-list small{color:#9fb4d3;font-size:12px}
.hub-checkin-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;border:1px solid rgba(36,130,255,.28);border-radius:8px;background:rgba(8,23,42,.72);padding:14px 16px;color:#cfe3ff}.hub-checkin-footer .brk-btn{min-width:160px;justify-content:center}
@media (max-width:1350px){.hub-checkin-grid{grid-template-columns:1fr}.hub-checkin-control,.hub-checkin-feed{grid-column:auto;grid-row:auto}.hub-checkin-overview{grid-column:auto}.hub-checkin-overview-row{grid-template-columns:1fr}.hub-checkin-window{grid-template-columns:1fr 1fr}.hub-checkin-list{grid-template-columns:1fr}}
@media (max-width:680px){.hub-checkin-window,.hub-checkin-stat-row,.hub-checkin-filters{grid-template-columns:1fr}.hub-checkin-team{grid-template-columns:44px minmax(0,1fr)}.hub-checkin-team .brk-btn,.hub-checkmark{grid-column:1/-1;width:100%;justify-content:center}.hub-checkin-footer{align-items:stretch;flex-direction:column}.hub-checkin-footer .brk-btn{width:100%}}
@media (max-width:1500px){.hub-seeding-layout{grid-template-columns:minmax(420px,1fr) minmax(420px,1.15fr)}.hub-seeding-side{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr))}.hub-team-pool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:900px){.hub-seeding-head{align-items:stretch;flex-direction:column}.hub-seeding-tools{justify-content:flex-start}.hub-seeding-layout,.hub-seeding-side{grid-template-columns:1fr}.hub-team-pool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hub-seed-row{grid-template-columns:38px 44px minmax(0,1fr)}.hub-seed-actions{grid-column:1/-1;justify-content:flex-end}}
@media (max-width:560px){.hub-team-pool-grid{grid-template-columns:1fr}.hub-pool-filters{grid-template-columns:1fr}.hub-seeding-tools .brk-btn{width:100%;justify-content:center}}
.public-preview-image{width:100%;height:260px;border-radius:10px;overflow:hidden;background:#03070d;border:1px solid rgba(56,118,180,.32)}
.public-preview-image img{width:100%;height:100%;object-fit:cover;display:block}
.public-preview-fallback{height:220px;border-radius:10px;display:grid;place-items:center;background:#071426;border:1px solid rgba(56,118,180,.32);font-size:44px;font-weight:900}
.lifecycle-sidebar{display:grid;gap:16px;position:sticky;top:calc(var(--top,72px) + 18px);min-width:0}
.detail-list{display:grid;gap:0;margin-bottom:16px}
.detail-list div{display:flex;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(91,128,174,.22);padding:10px 0}
.detail-list span{color:#b7c8e3}.detail-list strong{text-align:right}
.lifecycle-edit-panel{max-width:none}
.lifecycle-edit-form{margin-top:18px}
.lifecycle-edit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin:18px 0 8px}
.lifecycle-edit-grid>label,.lifecycle-edit-grid>.ruleset-control-card{min-width:0;margin:0;padding:14px;background:rgba(8,24,43,.72);border:1px solid rgba(56,118,180,.38);border-radius:12px;color:#bcd0ea;font-weight:800;font-size:13px;display:flex;flex-direction:column;gap:9px}
.lifecycle-edit-grid>label.full,.lifecycle-edit-grid>.full{grid-column:1/-1}
.lifecycle-edit-grid input,.lifecycle-edit-grid select,.lifecycle-edit-grid textarea{width:100%;box-sizing:border-box;background:#061426;border:1px solid rgba(56,118,180,.58);border-radius:10px;color:#fff;padding:12px 13px;font:inherit;outline:none}
.lifecycle-edit-grid input:focus,.lifecycle-edit-grid select:focus,.lifecycle-edit-grid textarea:focus{border-color:#54a7ff;box-shadow:0 0 0 3px rgba(84,167,255,.14)}
.lifecycle-edit-grid textarea{min-height:150px;resize:vertical;line-height:1.5}
.lifecycle-edit-grid label.full textarea{min-height:260px}
.lifecycle-edit-grid .toggle-row{justify-content:flex-start;flex-direction:row;align-items:center;gap:10px}
.lifecycle-edit-grid .toggle-row input{width:auto}
.lifecycle-edit-grid .ruleset-control-card{gap:14px}
.edit-card-section{margin:6px 0 -2px;padding:0;background:transparent;border:0;color:#9fb4d3}
.edit-card-section span{display:block;color:#54a7ff;text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}
.edit-card-section strong{display:block;color:#f5f8ff;font-size:16px;margin-top:2px}
.lifecycle-edit-grid .branding-upload-card{gap:10px}
.branding-upload-card small{color:#9fb4d3;font-weight:700;line-height:1.35}
.branding-upload-card em{color:#8fb0d2;font-size:12px;font-style:normal;font-weight:700;line-height:1.35}
.branding-upload-preview{display:grid;place-items:center;min-height:150px;border:1px solid rgba(56,118,180,.44);border-radius:10px;background:rgba(3,10,20,.58);overflow:hidden;color:#8fb0d2}
.branding-upload-preview img{width:100%;height:150px;object-fit:cover;display:block}
.branding-upload-preview.empty{border-style:dashed}
.branding-upload-card input[type=file]{padding:10px;background:#071426}
.branding-upload-card input[type=file]::file-selector-button{margin-right:12px;border:1px solid rgba(84,167,255,.42);border-radius:8px;background:#0b5fe8;color:#fff;padding:8px 11px;font:inherit;font-weight:900;cursor:pointer}
.next-action-panel .full{width:100%;justify-content:center}
.brk-btn.full{display:flex}
.lifecycle-loading{padding:24px}

/* Tournament hub: live match map strip and queue fit pass */
.hub-live-layout{
  grid-template-columns:minmax(0,1fr) minmax(430px,460px);
  gap:16px;
}

.hub-live-selector{
  min-width:0;
}

.hub-live-selector .hub-live-section{
  overflow:hidden;
}

.hub-live-selector .hub-live-list{
  display:grid;
}

.hub-live-selector .hub-live-row{
  grid-template-columns:minmax(50px,.46fr) auto minmax(0,1fr);
  grid-template-areas:
    "meta pill teams"
    "meta pill teams";
  gap:6px 10px;
  align-items:center;
  min-width:0;
  min-height:68px;
  padding:10px 14px;
}

.hub-live-selector .hub-live-row > div{
  grid-area:meta;
  min-width:0;
}

.hub-live-selector .hub-live-row .hub-live-pill{
  grid-area:pill;
  max-width:100%;
  white-space:nowrap;
  justify-self:start;
}

.hub-live-selector .hub-live-row > span:nth-of-type(2),
.hub-live-selector .hub-live-row .hub-live-stream,
.hub-live-selector .hub-live-row .brk-btn,
.hub-live-selector .hub-live-row .hub-menu-btn{
  display:none!important;
}

.hub-live-selector .hub-live-row em{
  grid-area:teams;
  justify-self:center;
  align-self:center;
  width:26px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  color:#fff;
  font-size:11px;
}

.hub-live-selector .hub-live-row .hub-live-team{
  grid-area:teams;
  min-width:0;
  max-width:calc(50% - 18px);
  font-size:12px;
}

.hub-live-selector .hub-live-row .hub-live-team:nth-of-type(3){
  justify-self:start;
}

.hub-live-selector .hub-live-row .hub-live-team:nth-of-type(4){
  justify-self:end;
}

.hub-live-selector .hub-live-team b{
  width:26px;
  height:26px;
  flex:0 0 26px;
}

.hub-live-selector .hub-live-section h3{
  flex-wrap:wrap;
}

.hub-live-compact-lower .hub-match-maps{
  padding:14px;
}

.hub-live-compact-lower .hub-match-maps > div,
.hub-match-maps > div{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
  gap:10px;
}

.hub-live-compact-lower .hub-map-card,
.hub-match-maps .hub-map-card{
  grid-template-rows:96px auto;
  min-height:146px;
  border-color:rgba(70,135,210,.34);
  background:linear-gradient(180deg,rgba(8,21,39,.94),rgba(5,14,29,.96));
}

.hub-live-compact-lower .hub-map-card-art,
.hub-match-maps .hub-map-card-art{
  min-height:96px;
  background-size:cover;
  background-position:center;
}

.hub-map-card-art.has-image::before,
.hub-map-card-art.has-image::after{
  display:none;
}

.hub-map-card-art.has-image{
  background-size:cover;
  background-position:center;
}

.hub-map-card-art span{
  top:9px;
  left:9px;
  min-width:34px;
  height:26px;
  border-radius:999px;
  background:rgba(3,10,20,.82);
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}

.hub-match-maps .hub-map-card-copy{
  padding:10px 12px 12px;
}

.hub-match-maps .hub-map-card-copy b{
  color:#24c9ff;
  font-size:11px;
}

.hub-match-maps .hub-map-card-copy strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:14px;
}

@media (max-width:1500px){
  .hub-live-layout{
    grid-template-columns:1fr;
  }
  .hub-live-selector{
    position:static;
  }
}

@media (max-width:1280px){
  .lifecycle-header{grid-template-columns:96px 1fr}.lifecycle-actions{grid-column:1/-1;justify-content:flex-start;flex-wrap:wrap}.lifecycle-logo{width:80px;height:80px}
  .lifecycle-layout{grid-template-columns:1fr}.lifecycle-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .review-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:900px){
  .brk-lifecycle-page .lifecycle-main{padding:calc(var(--top,72px) + 18px) 18px 40px}
  .lifecycle-stages{display:flex;overflow-x:auto;justify-content:flex-start;padding-bottom:4px}.lifecycle-stage{min-width:120px}.lifecycle-stage-line{display:none}
  .readiness-body{align-items:flex-start;flex-direction:column}.readiness-checks{grid-template-columns:1fr}
  .review-metrics,.lifecycle-sidebar{grid-template-columns:1fr}.lifecycle-notice{align-items:flex-start;flex-direction:column}
}


/* Lifecycle Review shell alignment - mock UI pass */
.brk-lifecycle-page .lifecycle-main{
  padding:calc(var(--top,64px) + 10px) 42px 40px !important;
}
.brk-lifecycle-page .lifecycle-root{
  max-width:1520px;
}
.brk-lifecycle-page .lifecycle-header{
  grid-template-columns:82px minmax(0,1fr) auto;
  gap:20px;
  align-items:center;
  min-height:112px;
  margin-bottom:8px;
}
.brk-lifecycle-page .lifecycle-logo{
  width:82px;
  height:82px;
  border-radius:8px;
}
.brk-lifecycle-page .lifecycle-title h1{
  font-size:28px;
  margin:0 0 8px;
}
.brk-lifecycle-page .lifecycle-meta{
  gap:16px;
  font-size:14px;
}
.brk-lifecycle-page .lifecycle-meta > span:not(.lifecycle-meta-chip){
  display:none;
}
.brk-lifecycle-page .lifecycle-actions .brk-btn{
  min-height:42px;
  padding:0 18px;
}
.brk-lifecycle-page .lifecycle-actions{
  flex-wrap:nowrap;
}
.brk-lifecycle-page .lifecycle-stage-card{
  position:fixed;
  left:calc(var(--sidebar,230px) + 300px);
  right:390px;
  top:9px;
  z-index:46;
  display:flex;
  align-items:center;
  height:46px;
  padding:0 16px;
  margin:0;
  border-color:rgba(56,118,180,.18);
  border-radius:12px;
  background:rgba(8,20,35,.72);
  box-shadow:none;
  backdrop-filter:blur(14px);
}
.brk-lifecycle-page .lifecycle-stage-line{
  left:34px;
  right:34px;
  top:22px;
}
.brk-lifecycle-page .lifecycle-notice{
  min-height:56px;
  padding:10px 18px;
}
.brk-lifecycle-page .lifecycle-layout{
  grid-template-columns:minmax(0,1fr) 320px;
  gap:16px;
}
.brk-lifecycle-page .lifecycle-workspace{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.brk-lifecycle-page .readiness-panel{
  grid-column:span 3;
  min-height:214px;
}
.brk-lifecycle-page .review-metrics{
  grid-column:span 9;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:16px;
}
.brk-lifecycle-page .metric-card{
  min-height:214px;
}
.brk-lifecycle-page .quick-actions-panel{
  grid-column:span 5;
  min-height:430px;
}
.brk-lifecycle-page .public-panel{
  grid-column:span 7;
  min-height:430px;
}
.brk-lifecycle-page .readiness-body{
  gap:24px;
}
.brk-lifecycle-page .readiness-ring{
  width:112px;
  height:112px;
}
.brk-lifecycle-page .readiness-checks{
  grid-template-columns:1fr;
  gap:7px;
  font-size:14px;
}
.brk-lifecycle-page .quick-action{
  min-height:64px;
  padding:11px 4px;
}
.brk-lifecycle-page .public-preview-image{
  height:220px;
}
.brk-lifecycle-page .public-preview-image img{
  object-fit:cover;
  object-position:center;
}
.brk-lifecycle-page .lifecycle-sidebar{
  position:sticky;
  top:calc(var(--top,82px) + 18px);
}
.brk-lifecycle-page .detail-list div{
  align-items:center;
}
.brk-lifecycle-page .detail-list strong{
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.brk-lifecycle-page .badge{
  vertical-align:middle;
  display:inline-flex;
  align-items:center;
  min-height:24px;
}
.brk-lifecycle-page .lifecycle-stage[disabled]{
  cursor:not-allowed;
  opacity:1;
}
@media (max-width:1400px){
  .brk-lifecycle-page .lifecycle-layout{grid-template-columns:1fr}
  .brk-lifecycle-page .lifecycle-sidebar{position:static;grid-template-columns:repeat(2,minmax(0,1fr))}
  .brk-lifecycle-page .readiness-panel{grid-column:span 4}
  .brk-lifecycle-page .review-metrics{grid-column:span 8;grid-template-columns:repeat(3,minmax(0,1fr))}
  .brk-lifecycle-page .quick-actions-panel{grid-column:span 6}
  .brk-lifecycle-page .public-panel{grid-column:span 6}
}
@media (max-width:1000px){
  .brk-lifecycle-page .lifecycle-main{padding:calc(var(--top,82px) + 18px) 18px 40px !important}
  .brk-lifecycle-page .lifecycle-header{grid-template-columns:96px 1fr}
  .brk-lifecycle-page .lifecycle-logo{width:80px;height:80px}
  .brk-lifecycle-page .lifecycle-actions{grid-column:1/-1;justify-content:flex-start}
  .brk-lifecycle-page .readiness-panel,
  .brk-lifecycle-page .review-metrics,
  .brk-lifecycle-page .quick-actions-panel,
  .brk-lifecycle-page .public-panel{grid-column:1/-1}
  .brk-lifecycle-page .review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
  .brk-lifecycle-page .lifecycle-sidebar{grid-template-columns:1fr}
}
@media (max-width:640px){
  .brk-lifecycle-page .review-metrics{grid-template-columns:1fr}
}


/* Stage 1 Review grid correction - details align with Public Viewer */
.brk-lifecycle-page .lifecycle-layout{
  display:block !important;
}

.brk-lifecycle-page .lifecycle-workspace{
  display:grid !important;
  grid-template-columns:repeat(12,minmax(0,1fr)) !important;
  gap:16px !important;
  align-items:stretch !important;
}

.brk-lifecycle-page .readiness-panel{
  grid-column:span 3 !important;
  min-height:214px;
}

.brk-lifecycle-page .review-metrics{
  grid-column:span 9 !important;
  display:grid !important;
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
  gap:16px !important;
}

.brk-lifecycle-page .quick-actions-panel{
  grid-column:span 4 !important;
  min-height:360px;
}

.brk-lifecycle-page .public-panel{
  grid-column:span 5 !important;
  min-height:360px;
}

.brk-lifecycle-page .details-panel{
  grid-column:span 3 !important;
  min-height:360px;
}

.brk-lifecycle-page .details-next-action{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(91,128,174,.22);
}

.brk-lifecycle-page .details-next-action h2{
  margin-top:0;
}

.brk-lifecycle-page .details-next-action .full{
  width:100%;
  justify-content:center;
}

.brk-lifecycle-page .public-preview-image{
  height:220px !important;
}

.brk-lifecycle-page .public-preview-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

.brk-lifecycle-page .detail-list strong{
  max-width:145px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

@media (max-width:1450px){
  .brk-lifecycle-page .readiness-panel{grid-column:span 4 !important}
  .brk-lifecycle-page .review-metrics{grid-column:span 8 !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .brk-lifecycle-page .quick-actions-panel{grid-column:span 4 !important}
  .brk-lifecycle-page .public-panel{grid-column:span 5 !important}
  .brk-lifecycle-page .details-panel{grid-column:span 3 !important}
}

@media (max-width:1100px){
  .brk-lifecycle-page .readiness-panel,
  .brk-lifecycle-page .review-metrics,
  .brk-lifecycle-page .quick-actions-panel,
  .brk-lifecycle-page .public-panel,
  .brk-lifecycle-page .details-panel{
    grid-column:1/-1 !important;
  }

  .brk-lifecycle-page .review-metrics{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media (max-width:640px){
  .brk-lifecycle-page .review-metrics{
    grid-template-columns:1fr !important;
  }
}

/* Stage 1 Review: review-only sections and working anchors */
.brk-lifecycle-page .review-shortcut-card strong{
  font-size:22px !important;
}

.brk-lifecycle-page .review-shortcut-card span:not(.metric-icon){
  line-height:1.35;
}

.brk-lifecycle-page .review-section-grid{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.brk-lifecycle-page .review-task-panel{
  min-height:190px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  scroll-margin-top:120px;
}

.brk-lifecycle-page .review-task-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  display:grid;
  place-items:center;
  background:#153d70;
  margin-bottom:12px;
}

.brk-lifecycle-page #review-public,
.brk-lifecycle-page #review-settings{
  scroll-margin-top:120px;
}

.brk-lifecycle-page .review-section-focus{
  box-shadow:0 0 0 2px rgba(56,145,255,.65), 0 0 32px rgba(56,145,255,.22);
}

@media (max-width:1100px){
  .brk-lifecycle-page .review-section-grid{
    grid-template-columns:1fr;
  }
}

/* Broadcast streams and talent registry */
.broadcast-ops-main{
  display:grid;
  gap:18px;
}

.broadcast-ops-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.broadcast-ops-head h1{
  margin:4px 0 6px;
  color:#fff;
  font-size:32px;
}

.broadcast-stat-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.broadcast-stat-card{
  min-height:110px;
  border:1px solid rgba(56,118,180,.32);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(9,27,48,.92),rgba(5,13,27,.92));
  padding:18px;
  display:grid;
  align-content:center;
  gap:5px;
}

.broadcast-stat-card span{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#9fc5ff;
}

.broadcast-stat-card strong{
  color:#fff;
  font-size:34px;
  line-height:1;
}

.broadcast-stat-card small{
  color:#9fb4d3;
}

.broadcast-stat-card.green{border-color:rgba(34,197,94,.36)}
.broadcast-stat-card.green span{color:#48e98b}
.broadcast-stat-card.gold{border-color:rgba(245,158,11,.38)}
.broadcast-stat-card.gold span{color:#ffbd4a}
.broadcast-stat-card.purple{border-color:rgba(139,92,246,.4)}
.broadcast-stat-card.purple span{color:#b79aff}

.broadcast-ops-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:18px;
  align-items:start;
}

.broadcast-stream-panel,
.broadcast-detail-panel{
  border:1px solid rgba(56,118,180,.32);
  border-radius:10px;
  background:rgba(5,18,35,.78);
}

.broadcast-stream-panel{
  overflow:hidden;
}

.broadcast-panel-toolbar{
  display:grid;
  gap:14px;
  padding:16px;
  border-bottom:1px solid rgba(56,118,180,.18);
}

.broadcast-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.broadcast-tabs button{
  min-height:38px;
  border:1px solid rgba(56,118,180,.34);
  border-radius:8px;
  background:rgba(7,19,36,.78);
  color:#cfe0f6;
  padding:0 14px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.broadcast-tabs button.active{
  background:#1f6feb;
  border-color:#348cff;
  color:#fff;
}

.broadcast-filter-row{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 170px 150px;
  gap:10px;
}

.broadcast-filter-row input,
.broadcast-filter-row select,
.broadcast-assign-toolbar input,
.broadcast-assign-toolbar select{
  min-width:0;
  width:100%;
  border:1px solid rgba(56,118,180,.4);
  border-radius:8px;
  background:#071426;
  color:#eaf3ff;
  padding:11px 12px;
  font:inherit;
}

.broadcast-stream-list{
  display:grid;
}

.broadcast-stream-row{
  display:grid;
  grid-template-columns:68px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:92px;
  padding:14px 16px;
  border-bottom:1px solid rgba(56,118,180,.16);
  cursor:pointer;
}

.broadcast-stream-row:hover,
.broadcast-stream-row.selected{
  background:rgba(36,112,205,.16);
}

.broadcast-stream-row.selected{
  box-shadow:inset 3px 0 0 #2684ff;
}

.broadcast-stream-logo,
.broadcast-detail-logo,
.broadcast-talent-avatar{
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(56,118,180,.35);
  background:rgba(12,39,68,.84);
  color:#24c9ff;
  font-weight:900;
}

.broadcast-stream-logo{
  width:58px;
  height:58px;
  border-radius:10px;
}

.broadcast-stream-logo img,
.broadcast-detail-logo img,
.broadcast-talent-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.broadcast-stream-main{
  min-width:0;
  display:grid;
  gap:6px;
}

.broadcast-stream-main strong{
  color:#fff;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.broadcast-stream-main span{
  color:#9fb4d3;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.broadcast-chip-row,
.broadcast-row-actions,
.broadcast-detail-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.broadcast-row-actions{
  justify-content:flex-end;
}

.broadcast-detail-panel{
  position:sticky;
  top:104px;
  padding:18px;
  display:grid;
  gap:18px;
}

.broadcast-detail-head{
  display:grid;
  grid-template-columns:78px minmax(0,1fr);
  gap:14px;
  align-items:center;
}

.broadcast-detail-logo{
  width:78px;
  height:78px;
  border-radius:14px;
  font-size:24px;
}

.broadcast-detail-head h2{
  margin:2px 0 4px;
  color:#fff;
}

.broadcast-detail-head p{
  margin:0;
  overflow:hidden;
  text-overflow:ellipsis;
}

.broadcast-detail-section{
  border-top:1px solid rgba(56,118,180,.18);
  padding-top:16px;
}

.broadcast-detail-section h3{
  margin:0 0 12px;
  color:#fff;
}

.broadcast-detail-empty{
  min-height:240px;
  display:grid;
  align-content:center;
}

.broadcast-assigned-list,
.broadcast-talent-picker{
  display:grid;
  gap:10px;
}

.broadcast-talent-row,
.broadcast-pick-row{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  gap:12px;
  align-items:center;
  border:1px solid rgba(56,118,180,.24);
  border-radius:8px;
  background:rgba(7,18,34,.64);
  padding:10px;
}

.broadcast-talent-avatar{
  width:46px;
  height:46px;
  border-radius:10px;
}

.broadcast-talent-row strong,
.broadcast-pick-row strong{
  display:block;
  color:#fff;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.broadcast-talent-row span,
.broadcast-pick-row small{
  display:block;
  color:#9fb4d3;
  margin-top:3px;
}

.modal.hidden{
  display:none;
}

.broadcast-assign-card{
  width:min(760px,94vw);
  max-height:88vh;
  overflow:auto;
}

.broadcast-assign-toolbar{
  display:grid;
  grid-template-columns:minmax(0,1fr) 170px;
  gap:10px;
  margin:14px 0;
}

.broadcast-pick-row{
  grid-template-columns:24px 46px minmax(0,1fr);
  cursor:pointer;
}

.broadcast-pick-row input{
  width:18px;
  height:18px;
}

.hub-team-avatar,
.hub-versus-avatar,
.hub-person-avatar{
  display:inline-grid;
  place-items:center;
  overflow:hidden;
  border:1px solid rgba(56,118,180,.36);
  background:rgba(56,118,180,.22);
  color:#24c9ff;
  font-weight:900;
  flex:0 0 auto;
}

.hub-team-avatar{
  width:26px;
  height:26px;
  border-radius:7px;
  font-size:11px;
}

.hub-versus-avatar{
  width:58px;
  height:58px;
  border-radius:14px;
  margin:0 auto 8px;
  font-size:18px;
}

.hub-person-avatar{
  width:26px;
  height:26px;
  border-radius:999px;
  font-size:10px;
  margin-left:-8px;
}

.hub-person-avatar:first-child{
  margin-left:0;
}

.hub-team-avatar img,
.hub-versus-avatar img,
.hub-person-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.hub-person-stack{
  display:inline-flex;
  align-items:center;
  gap:7px;
  min-width:0;
  max-width:100%;
  color:#dce8f8;
  font-size:12px;
}

.hub-person-stack span:last-child{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hub-person-stack.muted,
.hub-person-stack.optional{
  color:#9fb4d3;
}

.hub-person-stack.optional{
  border:1px solid rgba(88,215,124,.25);
  border-radius:999px;
  background:rgba(88,215,124,.08);
  color:#58d77c;
  padding:3px 8px;
  font-weight:900;
}

.hub-schedule-readiness,
.hub-match-maps{
  display:grid;
  gap:8px;
  margin:14px 0;
  border:1px solid rgba(56,118,180,.24);
  border-radius:8px;
  background:rgba(7,18,34,.6);
  padding:12px;
}

.hub-schedule-readiness h3,
.hub-match-maps h3{
  margin:0 0 4px;
  color:#fff;
}

.hub-readiness-row{
  display:grid;
  grid-template-columns:24px minmax(80px,.7fr) minmax(0,1fr);
  gap:8px;
  align-items:center;
  min-height:32px;
  color:#cfe0f6;
}

.hub-readiness-row span{
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:rgba(245,158,11,.14);
  color:#ffb020;
  font-weight:900;
}

.hub-readiness-row.ready span{
  background:rgba(34,197,94,.18);
  color:#58d77c;
}

.hub-readiness-row strong{
  color:#fff;
}

.hub-readiness-row em{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#9fb4d3;
  font-style:normal;
}

.hub-match-maps div{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(130px,1fr));
  gap:8px;
}

.hub-map-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-rows:74px auto;
  border:1px solid rgba(56,118,180,.22);
  border-radius:8px;
  background:rgba(5,15,29,.5);
  color:#cfe0f6;
}

.hub-map-card-art{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 24% 30%, rgba(36,201,255,.36), transparent 34%),
    linear-gradient(135deg, rgba(17,55,98,.95), rgba(5,15,29,.95));
}

.hub-map-card-art::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg, rgba(255,255,255,.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:26px 26px;
  opacity:.45;
}

.hub-map-card-art::after{
  content:"";
  position:absolute;
  left:14%;
  right:14%;
  bottom:14px;
  height:28px;
  border:2px solid rgba(219,237,255,.26);
  border-radius:50%;
  transform:perspective(120px) rotateX(58deg);
}

.hub-map-card-art span{
  position:absolute;
  top:8px;
  left:8px;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:32px;
  height:24px;
  padding:0 8px;
  border-radius:999px;
  background:rgba(5,15,29,.72);
  border:1px solid rgba(36,201,255,.38);
  color:#24c9ff;
  font-weight:950;
  font-size:12px;
}

.hub-map-card-art.has-image{
  background-size:cover;
  background-position:center;
}

.hub-map-card-art.has-image::before{
  background:linear-gradient(90deg,rgba(2,10,20,.35),rgba(2,10,20,.08) 48%,rgba(2,10,20,.35));
}

.hub-map-card-art.has-image::after{
  opacity:.32;
}

.hub-map-card-copy{
  display:grid;
  gap:3px;
  padding:9px 10px 10px;
}

/* Game map media library */
.game-map-main{
  display:grid;
  gap:18px;
}

.game-maps-page .game-maps-topbar{
  gap:18px;
}

.game-maps-page .brk-search{
  width:min(470px,38vw);
}

.brk-topbar .brk-search,
.topbar .brk-search,
.admin-topbar .brk-search,
.game-maps-page .brk-search{
  display:none!important;
}

.game-maps-page .brk-dashboard-actions{
  gap:14px;
  flex-shrink:0;
}

.game-maps-page .brk-userbar-mount{
  min-width:0;
}

.game-maps-page .brk-dashboard-user .bracketr-userbar--header{
  justify-content:flex-end;
}

.game-maps-page .brk-nav a.nav-disabled{
  color:#7f8da3;
}

.game-maps-page .brk-nav a.nav-disabled .ico,
.game-maps-page .brk-nav a.nav-disabled span{
  color:#7f8da3;
}

.game-maps-page .brk-nav a.nav-disabled:hover{
  background:rgba(15,23,42,.42);
}

.game-map-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 380px;
  gap:18px;
  align-items:start;
}

.game-map-panel,
.game-map-detail{
  border:1px solid rgba(56,118,180,.32);
  border-radius:10px;
  background:rgba(5,18,35,.78);
}

.game-map-panel{
  overflow:hidden;
}

.game-map-toolbar{
  display:grid;
  grid-template-columns:minmax(220px,1fr) 170px 150px;
  gap:10px;
  padding:16px;
  border-bottom:1px solid rgba(56,118,180,.18);
}

.game-map-toolbar input,
.game-map-toolbar select{
  min-width:0;
  width:100%;
  border:1px solid rgba(56,118,180,.4);
  border-radius:8px;
  background:rgba(7,19,36,.92);
  color:#fff;
  padding:12px 14px;
}

.game-map-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(230px,1fr));
  gap:14px;
  padding:16px;
}

.game-map-card{
  overflow:hidden;
  border:1px solid rgba(56,118,180,.26);
  border-radius:10px;
  background:linear-gradient(145deg,rgba(9,27,48,.9),rgba(5,13,27,.88));
  cursor:pointer;
}

.game-map-card:hover,
.game-map-card.selected{
  border-color:#2684ff;
  box-shadow:0 0 0 1px rgba(38,132,255,.35), 0 18px 40px rgba(0,0,0,.26);
}

.game-map-image,
.game-map-detail-image{
  display:grid;
  place-items:center;
  overflow:hidden;
  background:
    radial-gradient(circle at 24% 30%, rgba(36,201,255,.25), transparent 34%),
    linear-gradient(135deg,#0b2a43,#071421);
  color:#24c9ff;
  font-weight:900;
}

.game-map-image{
  aspect-ratio:16/8;
  min-height:120px;
}

.game-map-image img,
.game-map-detail-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.game-map-image span,
.game-map-detail-image span{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border-radius:16px;
  border:1px solid rgba(36,201,255,.34);
  background:rgba(6,18,34,.78);
}

.game-map-card-body{
  display:grid;
  gap:7px;
  padding:12px;
}

.game-map-card-body span{
  color:#24c9ff;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.game-map-card-body strong{
  color:#fff;
  font-size:16px;
}

.game-map-detail{
  position:sticky;
  top:104px;
  padding:18px;
  display:grid;
  gap:16px;
}

.game-map-detail-image{
  min-height:210px;
  border:1px solid rgba(56,118,180,.26);
  border-radius:10px;
}

.game-maps-page .hub-drawer{
  position:fixed;
  inset:0;
  z-index:100000;
  display:grid;
  justify-content:end;
  background:rgba(0,0,0,.55);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.game-maps-page .hub-drawer.open{
  opacity:1;
  pointer-events:auto;
}

.game-maps-page .hub-drawer-panel{
  width:min(460px,100vw);
  min-height:100vh;
  padding:28px;
  overflow:auto;
  border-left:1px solid rgba(56,118,180,.34);
  background:linear-gradient(180deg,rgba(7,20,38,.98),rgba(3,10,24,.98));
  box-shadow:-28px 0 70px rgba(0,0,0,.42);
  transform:translateX(100%);
  transition:transform .18s ease;
}

.game-maps-page .hub-drawer.open .hub-drawer-panel{
  transform:translateX(0);
}

.game-maps-page .hub-drawer-close{
  position:absolute;
  top:18px;
  right:18px;
  width:38px;
  height:38px;
  border:1px solid rgba(56,118,180,.36);
  border-radius:8px;
  background:rgba(5,15,29,.82);
  color:#eaf3ff;
  font-size:22px;
  font-weight:900;
  cursor:pointer;
}

.game-maps-page .hub-form-grid{
  display:grid;
  gap:15px;
  margin-top:20px;
}

.game-maps-page .hub-form-grid label{
  display:grid;
  gap:7px;
  color:#dbeafe;
  font-size:13px;
  font-weight:850;
}

.game-maps-page .hub-form-grid input,
.game-maps-page .hub-form-grid select{
  width:100%;
  min-height:44px;
  border:1px solid rgba(56,118,180,.42);
  border-radius:8px;
  background:rgba(4,13,25,.82);
  color:#fff;
  padding:10px 12px;
  outline:none;
}

.game-maps-page .hub-form-grid input:focus,
.game-maps-page .hub-form-grid select:focus{
  border-color:#24c9ff;
  box-shadow:0 0 0 3px rgba(36,201,255,.12);
}

.game-maps-page .hub-drawer-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  margin-top:8px;
}

@media (max-width:1300px){
  .game-map-shell{
    grid-template-columns:1fr;
  }
  .game-map-detail{
    position:static;
  }
}

@media (max-width:820px){
  .game-map-toolbar{
    grid-template-columns:1fr;
  }
}

.hub-map-card-copy b{
  color:#24c9ff;
  font-size:11px;
  text-transform:uppercase;
}

.hub-map-card-copy strong{
  min-width:0;
  color:#fff;
  font-size:13px;
  line-height:1.15;
}

.hub-map-card[data-map*="mannfield"] .hub-map-card-art{background:radial-gradient(circle at 28% 24%, rgba(90,190,120,.42), transparent 32%),linear-gradient(135deg,#123b2c,#071421)}
.hub-map-card[data-map*="dfh"] .hub-map-card-art{background:radial-gradient(circle at 32% 18%, rgba(115,185,255,.4), transparent 32%),linear-gradient(135deg,#12345b,#071421)}
.hub-map-card[data-map*="utopia"] .hub-map-card-art{background:radial-gradient(circle at 24% 22%, rgba(196,132,255,.38), transparent 34%),linear-gradient(135deg,#352052,#071421)}
.hub-map-card[data-map*="neo-tokyo"] .hub-map-card-art{background:radial-gradient(circle at 24% 22%, rgba(255,51,153,.4), transparent 34%),linear-gradient(135deg,#3a194c,#071421)}
.hub-map-card[data-map*="forbidden"] .hub-map-card-art{background:radial-gradient(circle at 28% 20%, rgba(255,190,80,.38), transparent 32%),linear-gradient(135deg,#433315,#071421)}
.hub-map-card[data-map*="champions"] .hub-map-card-art{background:radial-gradient(circle at 24% 22%, rgba(255,216,94,.42), transparent 34%),linear-gradient(135deg,#3b2c14,#071421)}
.hub-map-card[data-map*="beckwith"] .hub-map-card-art{background:radial-gradient(circle at 28% 22%, rgba(98,221,164,.36), transparent 33%),linear-gradient(135deg,#183c37,#071421)}
.hub-map-card[data-map*="urban"] .hub-map-card-art{background:radial-gradient(circle at 30% 20%, rgba(84,160,255,.38), transparent 34%),linear-gradient(135deg,#1c2d55,#071421)}
.hub-map-card[data-map*="aquadome"] .hub-map-card-art{background:radial-gradient(circle at 28% 22%, rgba(55,221,232,.38), transparent 34%),linear-gradient(135deg,#0f3f4c,#071421)}
.hub-map-card[data-map*="wasteland"] .hub-map-card-art{background:radial-gradient(circle at 30% 20%, rgba(255,129,64,.38), transparent 34%),linear-gradient(135deg,#4a2416,#071421)}
.hub-map-card[data-map*="starbase"] .hub-map-card-art{background:radial-gradient(circle at 26% 20%, rgba(121,126,255,.44), transparent 34%),linear-gradient(135deg,#222258,#071421)}
.hub-map-card[data-map*="farmstead"] .hub-map-card-art{background:radial-gradient(circle at 26% 20%, rgba(255,184,92,.36), transparent 34%),linear-gradient(135deg,#3e2a18,#071421)}
}

.hub-schedule-modal-grid small{
  color:#9fb4d3;
  font-weight:600;
}

.hub-schedule-na-toggle{
  align-self:end;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center;
  gap:10px!important;
  min-height:44px;
  border:1px solid rgba(56,118,180,.24);
  border-radius:8px;
  background:rgba(7,18,34,.5);
  padding:10px 12px;
}

.hub-schedule-na-toggle input{
  width:18px!important;
  height:18px;
}

.hub-schedule-modal textarea{
  width:100%;
  min-height:92px;
  resize:vertical;
  border:1px solid rgba(56,118,180,.4);
  border-radius:8px;
  background:#071426;
  color:#fff;
  padding:11px 12px;
  font:inherit;
}

.hub-live-layout{
  grid-template-columns:minmax(0,1fr) 390px;
}

.hub-live-primary{
  display:grid;
  gap:14px;
  min-width:0;
}

.hub-live-primary .hub-schedule-detail{
  position:static;
}

.hub-live-selector{
  position:sticky;
  top:calc(var(--top,72px) + 18px);
  display:grid;
  gap:12px;
}

.hub-live-selector .live-tabs{
  grid-template-columns:1fr;
}

.hub-live-selector .hub-live-section{
  border:1px solid rgba(56,118,180,.18);
  border-radius:8px;
  overflow:hidden;
}

.hub-live-selector .hub-live-row{
  grid-template-columns:minmax(72px,.7fr) 58px minmax(0,1fr) 20px minmax(0,1fr);
  min-width:0;
  gap:8px;
}

.hub-live-selector .hub-live-row > span:nth-of-type(2),
.hub-live-selector .hub-live-row .hub-live-stream,
.hub-live-selector .hub-live-row .brk-btn,
.hub-live-selector .hub-live-row .hub-menu-btn{
  display:none;
}

.hub-live-selector .hub-live-team{
  font-size:12px;
}

.hub-live-compact-card{
  padding:14px 16px;
}

.hub-live-compact-card .hub-card-head{
  margin-bottom:8px;
}

.hub-live-compact-card .hub-card-head h3{
  margin:0;
}

.hub-live-compact-card .hub-card-head p{
  margin:3px 0 0;
}

.hub-live-compact-card .hub-match-versus{
  min-height:86px;
  padding:10px 14px;
  grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);
}

.hub-live-compact-card .hub-versus-avatar{
  width:42px;
  height:42px;
  border-radius:10px;
  margin:0 8px 0 0;
}

.hub-live-compact-card .hub-match-versus > div{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

.hub-live-compact-card .hub-match-versus strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hub-live-detail-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:10px;
}

.hub-live-detail-grid div{
  min-height:52px;
  padding:9px 12px;
}

.hub-live-detail-grid div:nth-child(2n){
  border-right:1px solid rgba(56,118,180,.18);
}

.hub-live-detail-grid div:nth-child(3n){
  border-right:0;
}

.hub-live-compact-lower{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
  margin-top:12px;
  align-items:stretch;
}

.hub-live-compact-lower .hub-match-maps,
.hub-live-compact-lower .hub-score-summary{
  margin:0;
}

.hub-live-compact-lower .hub-match-maps{
  padding:12px;
}

.hub-live-compact-lower .hub-match-maps div{
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
}

.hub-live-compact-lower .hub-map-card{
  min-height:46px;
}

.hub-live-compact-lower .hub-map-card-art{
  min-height:68px;
}

.hub-live-compact-lower .hub-score-summary{
  padding:10px 12px;
  display:grid;
  align-content:center;
}

.hub-live-compact-lower .hub-score-summary h3{
  margin-bottom:4px;
}

.hub-live-compact-lower .hub-score-summary div strong{
  font-size:28px;
}

.hub-live-actions{
  margin-top:12px!important;
  border-top:1px solid rgba(56,118,180,.18);
  padding-top:12px!important;
  grid-template-columns:1.25fr repeat(3,minmax(0,1fr))!important;
}

.hub-live-actions h3{
  display:none;
}

.hub-live-actions .brk-btn{
  min-height:38px!important;
}

.hub-live-actions .brk-btn.primary{
  grid-column:auto!important;
}

.hub-result-modal-card{
  width:min(820px,94vw);
}

.hub-result-teams{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  gap:14px;
  align-items:center;
  margin:14px 0;
  border:1px solid rgba(56,118,180,.24);
  border-radius:8px;
  background:rgba(5,15,29,.45);
  padding:12px;
  text-align:center;
}

.hub-result-teams > div{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-width:0;
}

.hub-result-teams strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hub-ff-btn{
  flex:0 0 auto;
  min-width:38px;
  height:30px;
  border:1px solid rgba(255, 59, 118, .46);
  border-radius:8px;
  background:rgba(255, 59, 118, .12);
  color:#ff9bb3;
  font-weight:900;
  font-size:12px;
  cursor:pointer;
}

.hub-ff-btn:hover{
  background:rgba(255, 59, 118, .2);
  color:#fff;
}

.hub-ff-btn:disabled{
  opacity:.65;
  cursor:wait;
}

.hub-result-games{
  display:grid;
  border:1px solid rgba(56,118,180,.24);
  border-radius:8px;
  overflow:hidden;
}

.hub-result-game-head,
.hub-result-game-row{
  display:grid;
  grid-template-columns:70px minmax(150px,1fr) 110px 110px;
  gap:10px;
  align-items:center;
  padding:9px 12px;
  border-bottom:1px solid rgba(56,118,180,.16);
}

.hub-result-game-head{
  background:rgba(5,15,29,.55);
  color:#9fb4d3;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.hub-result-game-row:last-child{
  border-bottom:0;
}

.hub-result-game-row strong{
  color:#24c9ff;
}

.hub-result-game-row input{
  width:100%;
  border:1px solid rgba(56,118,180,.4);
  border-radius:7px;
  background:#071426;
  color:#fff;
  padding:9px 10px;
  font:inherit;
}

.hub-result-preview{
  margin-top:12px;
  border:1px solid rgba(34,197,94,.24);
  border-radius:8px;
  background:rgba(34,197,94,.08);
  color:#c9f7d9;
  padding:10px 12px;
  font-weight:900;
}

.hub-schedule-modal-card{
  width:min(980px,94vw);
}

.hub-schedule-modal-card.is-compact{
  width:min(560px,94vw);
}

.hub-match-edit-shell{
  display:grid;
  gap:12px;
  margin-top:16px;
}

.hub-match-edit-card{
  border:1px solid rgba(56,118,180,.25);
  border-radius:10px;
  background:rgba(7,18,34,.58);
  padding:14px;
}

.hub-section-title{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}

.hub-section-title h3{
  margin:0;
  color:#fff;
  font-size:15px;
}

.hub-section-title p{
  margin:0;
  color:#9fb4d3;
  font-size:12px;
  text-align:right;
}

.hub-edit-quick-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.hub-match-edit-card label,
.hub-production-picker{
  display:grid;
  gap:7px;
  color:#cfe0f6;
  font-size:12px;
  font-weight:800;
}

.hub-match-edit-card input,
.hub-match-edit-card select,
.hub-match-edit-card textarea{
  width:100%;
  min-width:0;
  border:1px solid rgba(56,118,180,.4);
  border-radius:8px;
  background:#071426;
  color:#fff;
  padding:10px 11px;
  font:inherit;
}

.hub-match-edit-card select[multiple]{
  min-height:128px;
  padding:6px;
}

.hub-match-edit-card select[multiple] option{
  padding:7px 8px;
  border-radius:6px;
}

.hub-match-edit-card select:disabled{
  opacity:.45;
}

.hub-production-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.hub-schedule-modal-card.is-compact .hub-production-grid{
  grid-template-columns:1fr;
}

.hub-production-picker{
  border:1px solid rgba(56,118,180,.18);
  border-radius:8px;
  background:rgba(5,15,29,.36);
  padding:10px;
}

.hub-picker-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.hub-picker-head strong{
  color:#fff;
  font-size:13px;
}

.hub-picker-head label{
  display:flex;
  align-items:center;
  gap:7px;
  color:#9fb4d3;
  white-space:nowrap;
}

.hub-picker-head input{
  width:16px!important;
  height:16px;
  padding:0;
}

.hub-match-edit-card .hub-schedule-room-field{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) 120px;
}

.hub-match-edit-card .hub-schedule-room-field .brk-btn{
  min-height:40px;
}

.hub-match-edit-card .ops-map-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:10px;
}

.hub-match-edit-card textarea{
  min-height:82px;
  resize:vertical;
}

.hub-schedule-modal-card .modal-actions{
  position:sticky;
  bottom:-1px;
  margin:14px -18px -18px;
  padding:12px 18px;
  border-top:1px solid rgba(56,118,180,.18);
  background:linear-gradient(180deg,rgba(7,20,38,.92),rgba(3,10,24,.99));
}

.hub-live-match-top{
  display:grid;
  grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr);
  gap:10px;
  align-items:stretch;
  margin-top:8px;
}

.hub-live-lineup{
  border:1px solid rgba(56,118,180,.25);
  border-radius:8px;
  background:rgba(5,15,29,.45);
  padding:10px;
  min-width:0;
}

.hub-live-lineup-head{
  display:grid;
  grid-template-columns:30px minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin-bottom:8px;
}

.hub-live-lineup-head strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
}

.hub-live-lineup-head span{
  color:#9fb4d3;
  font-size:11px;
  font-weight:900;
}

.hub-lineup-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}

.hub-lineup-list span{
  display:flex;
  align-items:center;
  gap:6px;
  min-width:0;
  border:1px solid rgba(56,118,180,.16);
  border-radius:7px;
  background:rgba(7,18,34,.56);
  padding:6px 7px;
  color:#dce8f8;
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hub-lineup-list b{
  color:#24c9ff;
  flex:0 0 auto;
}

.hub-lineup-list em{
  grid-column:1/-1;
  color:#9fb4d3;
  font-style:normal;
  padding:8px;
}

.hub-live-vs-block{
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  border:1px solid rgba(56,118,180,.22);
  border-radius:8px;
  background:rgba(7,18,34,.66);
  text-align:center;
}

.hub-live-vs-block span{
  color:#fff;
  font-weight:900;
}

.hub-live-vs-block strong{
  color:#fff;
  font-size:24px;
}

.hub-live-vs-block small{
  color:#9fb4d3;
  font-size:11px;
}

.hub-live-info-strip{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-top:10px;
}

.hub-live-info-strip div{
  min-width:0;
  border:1px solid rgba(56,118,180,.18);
  border-radius:8px;
  background:rgba(5,15,29,.42);
  padding:8px 9px;
}

.hub-live-info-strip span{
  display:block;
  color:#9fb4d3;
  font-size:11px;
  margin-bottom:4px;
}

.hub-live-info-strip strong{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
  font-size:13px;
}

.hub-forfeit-modal-card{
  width:min(720px,94vw);
}

.hub-forfeit-options{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:16px;
}

.hub-forfeit-options label{
  display:grid;
  grid-template-columns:22px 54px minmax(0,1fr);
  gap:10px;
  align-items:center;
  border:1px solid rgba(56,118,180,.24);
  border-radius:10px;
  background:rgba(7,18,34,.62);
  padding:12px;
  cursor:pointer;
}

.hub-forfeit-options input{
  width:18px;
  height:18px;
}

.hub-forfeit-options .hub-versus-avatar{
  width:44px;
  height:44px;
  margin:0;
}

.hub-forfeit-options strong{
  display:block;
  color:#fff;
}

.hub-forfeit-options small{
  display:block;
  color:#9fb4d3;
  margin-top:3px;
}

@media (max-width:980px){
  .hub-live-compact-lower,
  .hub-live-detail-grid,
  .hub-live-actions,
  .hub-edit-quick-grid,
  .hub-production-grid,
  .hub-match-edit-card .hub-schedule-room-field,
  .hub-live-match-top,
  .hub-live-info-strip,
  .hub-forfeit-options{
    grid-template-columns:1fr!important;
  }
  .hub-result-game-head,
  .hub-result-game-row{
    grid-template-columns:54px minmax(0,1fr) 76px 76px;
  }
}

@media (max-width:1300px){
  .broadcast-ops-shell{
    grid-template-columns:1fr;
  }
  .broadcast-detail-panel{
    position:static;
  }
}

@media (max-width:820px){
  .broadcast-ops-head{
    flex-direction:column;
  }
  .broadcast-stat-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .broadcast-filter-row,
  .broadcast-assign-toolbar{
    grid-template-columns:1fr;
  }
  .broadcast-stream-row{
    grid-template-columns:54px minmax(0,1fr);
  }
  .broadcast-row-actions{
    grid-column:1/-1;
    justify-content:flex-start;
  }
}

/* Final tournament hub fit overrides */
.hub-live-layout{
  grid-template-columns:minmax(0,1fr) minmax(430px,460px)!important;
  gap:16px!important;
}

.hub-live-selector .hub-live-row{
  grid-template-columns:minmax(50px,.46fr) auto minmax(0,1fr)!important;
  grid-template-areas:"meta pill teams"!important;
  min-width:0!important;
  min-height:68px!important;
  gap:8px 10px!important;
  padding:10px 14px!important;
}

.hub-live-selector .hub-live-row > div{grid-area:meta;min-width:0}
.hub-live-selector .hub-live-row .hub-live-pill{grid-area:pill;white-space:nowrap;justify-self:start}
.hub-live-selector .hub-live-row > span:nth-of-type(2),
.hub-live-selector .hub-live-row .hub-live-stream,
.hub-live-selector .hub-live-row .brk-btn,
.hub-live-selector .hub-live-row .hub-menu-btn{display:none!important}
.hub-live-selector .hub-live-row em{grid-area:teams;justify-self:center;width:26px;height:22px;display:grid;place-items:center;border-radius:999px;background:rgba(255,255,255,.06);font-size:11px}
.hub-live-selector .hub-live-row .hub-live-team{grid-area:teams;max-width:calc(50% - 18px);font-size:12px}
.hub-live-selector .hub-live-row .hub-live-team:nth-of-type(3){justify-self:start}
.hub-live-selector .hub-live-row .hub-live-team:nth-of-type(4){justify-self:end}

.hub-match-maps > div,
.hub-live-compact-lower .hub-match-maps > div{
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;
  gap:10px!important;
}

.hub-match-maps .hub-map-card,
.hub-live-compact-lower .hub-map-card{
  grid-template-rows:100px auto!important;
  min-height:150px!important;
  border-color:rgba(70,135,210,.34)!important;
  background:linear-gradient(180deg,rgba(8,21,39,.94),rgba(5,14,29,.96))!important;
}

.hub-match-maps .hub-map-card-art,
.hub-live-compact-lower .hub-map-card-art{
  min-height:100px!important;
  background-size:cover!important;
  background-position:center!important;
}

.hub-map-card-art.has-image::before,
.hub-map-card-art.has-image::after{
  display:none!important;
}

.hub-match-maps .hub-map-card-copy strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:14px!important;
}

@media (max-width:1500px){
  .hub-live-layout{grid-template-columns:1fr!important}
  .hub-live-selector{position:static!important}
}

.hub-live-link-panel{
  margin-top:14px;
  padding:14px;
  border:1px solid rgba(56,118,180,.24);
  border-radius:10px;
  background:rgba(4,16,32,.42);
}

.hub-live-link-panel .hub-card-head{
  margin-bottom:12px;
}

.hub-live-link-panel .hub-card-head h3{
  margin:0 0 4px;
}

.hub-live-link-panel .hub-card-head p{
  margin:0;
  color:#9fb4d3;
}

.hub-result-details-card{
  width:min(900px,94vw);
}

.hub-result-details-score{
  display:grid;
  place-items:center;
  gap:6px;
  margin:14px 0;
  padding:18px;
  border:1px solid rgba(56,118,180,.24);
  border-radius:10px;
  background:rgba(5,15,29,.44);
  text-align:center;
}

.hub-result-details-score span{
  color:#58d77c;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.hub-result-details-score strong{
  color:#fff;
  font-size:36px;
  line-height:1;
}

.hub-result-details-score small{
  color:#cfe0f6;
  font-weight:900;
}

.hub-result-details-info{
  margin:0 0 14px;
}

.hub-result-details-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px;
}

.hub-result-details-grid section{
  display:grid;
  gap:10px;
  min-width:0;
  border:1px solid rgba(56,118,180,.18);
  border-radius:10px;
  background:rgba(5,15,29,.32);
  padding:12px;
}

.hub-result-details-grid h3{
  margin:0;
  color:#fff;
  font-size:14px;
}

.hub-result-details-team{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
  padding:9px;
  border:1px solid rgba(56,118,180,.16);
  border-radius:8px;
  background:rgba(7,20,38,.52);
}

.hub-result-details-team span{
  display:grid;
  gap:2px;
  min-width:0;
}

.hub-result-details-team b,
.hub-result-details-list dt{
  color:#9fb4d3;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.hub-result-details-team strong,
.hub-result-details-list dd{
  min-width:0;
  margin:0;
  overflow:hidden;
  color:#fff;
  font-weight:900;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hub-result-details-team small{
  color:#cfe0f6;
}

.hub-result-details-list{
  display:grid;
  gap:8px;
  margin:0;
}

.hub-result-details-list div{
  display:grid;
  gap:3px;
}

.hub-result-details-games{
  margin-top:12px;
}

.hub-result-details-games .hub-result-game-row b{
  color:#fff;
}

@media (max-width:760px){
  .hub-result-details-grid{
    grid-template-columns:1fr;
  }

  .hub-result-details-score strong{
    font-size:30px;
  }
}

.hub-live-link-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}

.hub-live-link-card{
  min-width:0;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:12px;
  border:1px solid rgba(56,118,180,.22);
  border-radius:9px;
  background:rgba(3,12,25,.48);
}

.hub-live-link-card strong,
.hub-live-link-card span{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.hub-live-link-card strong{
  color:#f8fbff;
  font-weight:900;
}

.hub-live-link-card span{
  margin-top:3px;
  color:#9fb4d3;
  font-size:.8rem;
}

.hub-live-link-actions{
  display:flex;
  gap:7px;
  align-items:center;
}

.hub-live-link-actions .brk-btn{
  height:34px;
  padding:0 10px;
}

@media(max-width:900px){
  .hub-live-link-grid,
  .hub-live-link-card{
    grid-template-columns:1fr;
  }

  .hub-live-link-actions{
    justify-content:flex-start;
    flex-wrap:wrap;
  }
}

/* Teams/Talent registry shell refresh */
body.registry-admin-page{
  margin:0;
  min-height:100vh;
  background:radial-gradient(circle at 68% 3%,rgba(16,84,170,.22),transparent 35%),linear-gradient(135deg,#020813,#071525 52%,#020813);
  color:#f7fbff;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}

body.registry-admin-page .admin-app-shell{
  display:block;
  min-height:100vh;
  padding-left:230px;
}

body.registry-admin-page .admin-sidebar{
  position:fixed;
  left:0;
  top:0;
  bottom:0;
  width:230px;
  padding:24px 14px;
  background:rgba(2,8,17,.96);
  border-right:1px solid rgba(130,160,200,.18);
  z-index:50;
}

body.registry-admin-page .admin-sidebar-brand{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 6px 38px;
  padding:0;
  border:0;
}

body.registry-admin-page .admin-sidebar-logo{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:linear-gradient(135deg,#fff,#1f6fff);
  color:#07111f;
  font-weight:1000;
  font-size:24px;
}

body.registry-admin-page .admin-sidebar-brand strong{
  display:block;
  color:#fff;
  font-size:18px;
  letter-spacing:-.03em;
}

body.registry-admin-page .admin-sidebar-brand small{
  display:block;
  color:#2998ff;
  font-weight:850;
}

body.registry-admin-page .admin-sidebar-nav{
  display:grid;
  gap:4px;
}

body.registry-admin-page .admin-sidebar-link{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:12px;
  padding:0 12px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#f3f7fc;
  font-size:15px;
  font-weight:750;
  text-decoration:none;
}

body.registry-admin-page .admin-sidebar-link::before{
  content:attr(data-nav-icon);
  width:24px;
  display:inline-grid;
  place-items:center;
  color:#dbeafe;
}

body.registry-admin-page .admin-sidebar-link[href="/dashboard"]::before{content:"D"}
body.registry-admin-page .admin-sidebar-link[href="/leagues"]::before{content:"C"}
body.registry-admin-page .admin-sidebar-link[href="/teams"]::before{content:"T"}
body.registry-admin-page .admin-sidebar-link[href="/talent"]::before{content:"TL"}
body.registry-admin-page .admin-sidebar-link[href="/master-teams"]::before{content:"P"}

body.registry-admin-page .admin-sidebar-link.active{
  background:linear-gradient(90deg,rgba(31,111,255,.34),rgba(31,111,255,.10));
  box-shadow:inset 3px 0 0 #2d7dff;
  color:#fff;
}

body.registry-admin-page .admin-sidebar-external{
  display:none!important;
}

body.registry-admin-page .admin-topbar{
  position:fixed;
  left:230px;
  right:0;
  top:0;
  height:82px;
  z-index:45;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 28px;
  border-bottom:1px solid rgba(130,160,200,.18);
  background:rgba(3,10,20,.9);
  backdrop-filter:blur(14px);
}

body.registry-admin-page .topbar-title h1{
  margin:0;
  color:#fff;
  font-size:24px;
}

body.registry-admin-page .topbar-title p{
  margin:5px 0 0;
  color:#b9c8dc;
}

body.registry-admin-page .topbar-user{
  min-width:0;
}

body.registry-admin-page .admin-content{
  margin:0;
  padding:calc(82px + 28px) 34px 46px;
  min-height:100vh;
}

body.registry-admin-page .layout.registry-layout{
  max-width:1480px;
  margin:0 auto;
}

body.registry-admin-page .card{
  border:1px solid rgba(92,137,198,.22);
  border-radius:10px;
  background:linear-gradient(180deg,rgba(10,24,43,.94),rgba(6,17,32,.92));
  box-shadow:0 24px 70px rgba(0,0,0,.25);
}

body.registry-admin-page input,
body.registry-admin-page select,
body.registry-admin-page textarea{
  border-radius:8px;
}

body.registry-admin-page .primary-btn{
  border-color:#2b80ff;
  background:linear-gradient(180deg,#2578ff,#0751c9);
}

body.registry-admin-page .secondary-btn{
  border-color:rgba(70,115,180,.46);
  background:rgba(8,17,30,.82);
}

body.registry-admin-page .streamer-card,
body.registry-admin-page .team-card{
  border-radius:10px;
  background:linear-gradient(145deg,rgba(9,27,48,.9),rgba(5,13,27,.9));
}

@media (max-width:1100px){
  body.registry-admin-page .admin-app-shell{padding-left:0}
  body.registry-admin-page .admin-sidebar{display:none}
  body.registry-admin-page .admin-topbar{left:0}
  body.registry-admin-page .admin-content{padding-left:18px;padding-right:18px}
}
/* League season and playoff hub */
.league-season-page,
.league-playoffs-page{display:grid;gap:8px}
.league-hub-tabs{display:flex;align-items:center;gap:14px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(5,15,29,.38);overflow:auto;padding:0 12px;margin:0 0 14px;min-height:62px}
.league-hub-tabs a{display:inline-flex;align-items:center;gap:9px;min-height:60px;color:#cfe0f6;text-decoration:none;padding:0 8px;border-bottom:2px solid transparent;font-weight:900;white-space:nowrap}
.league-hub-tabs a:hover{color:#fff;background:rgba(38,132,255,.06)}
.league-hub-tabs a.active{color:#fff;border-color:#2684ff;background:rgba(38,132,255,.08)}
.league-tab-icon{display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(159,180,211,.22);border-radius:6px;color:#9fb4d3;font-size:9px;font-weight:900;line-height:1;text-transform:uppercase}
.league-tab-icon svg{display:block;width:15px;height:15px}
.league-hub-tabs a.active .league-tab-icon{border-color:rgba(38,132,255,.66);background:rgba(38,132,255,.16);color:#fff}
.sr-only-select{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
.league-season-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:16px;align-items:start}.league-season-layout.match-focus{grid-template-columns:1fr}
[hidden]{display:none!important}
.league-season-main,.league-season-side{display:grid;gap:14px;min-width:0}
.league-week-head,.league-table-head,.league-playoff-round-head{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.league-week-head h3,.league-table-head h3,.league-playoff-round-head h3,.league-side-card h3,.league-quick-actions h3{margin:0;color:#fff}
.league-week-head p,.league-table-head p{margin:3px 0 0;color:#9fb4d3}
.league-week-strip{display:grid;grid-template-columns:repeat(12,minmax(34px,1fr));gap:8px;margin-bottom:14px}
.league-week-strip button,.league-playoff-tabs button{appearance:none;border:1px solid rgba(56,118,180,.28);background:#071426;color:#cfe0f6;border-radius:8px;min-height:34px;font:inherit;font-weight:800}
.league-week-strip button.active,.league-playoff-tabs button.active{border-color:#2684ff;color:#fff;background:rgba(38,132,255,.18)}
.league-season-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.league-season-stats div{border:1px solid rgba(56,118,180,.18);background:rgba(5,15,29,.45);border-radius:8px;padding:14px;display:grid;gap:4px}
.league-season-stats strong{color:#fff;font-size:24px}.league-season-stats span,.league-side-card span{color:#c2d4ec}.league-season-stats small{color:#9fb4d3}

/* Season division selector */
.league-season-page .league-division-switcher {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0 0 -2px;
  padding: 0;
}

.league-season-page .league-division-switcher .league-division-label {
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 16px;
  border:1px solid rgba(56,118,180,.12);
  border-radius:8px;
  background:rgba(5,15,29,.24);
  color: #9fb4d3;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.league-season-page .league-division-switcher a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(56,118,180,.22);
  border-radius: 8px;
  background: rgba(7,20,38,.7);
  color: #cfe0f6;
  font-weight: 900;
  text-decoration: none;
  white-space: nowrap;
}

.league-season-page .league-division-switcher a:hover {
  border-color: rgba(38,132,255,.72);
  color: #fff;
}

.league-season-page .league-division-switcher a.active {
  border-color: #2684ff;
  background: rgba(38,132,255,.16);
  color: #fff;
  box-shadow: inset 0 -2px 0 #2684ff;
}
.league-season-page .league-division-switcher.game-theme-rocket{gap:8px;padding:4px 0 2px}.league-season-page .league-division-switcher.game-theme-rocket span{color:#8fd7ff}.league-season-page .league-division-switcher.game-theme-rocket a{position:relative;isolation:isolate;min-height:40px;border-radius:10px;border-color:rgba(51,171,255,.45);background:linear-gradient(135deg,rgba(7,31,66,.94),rgba(11,42,72,.72));box-shadow:inset 0 0 0 1px rgba(255,255,255,.03),0 8px 22px rgba(0,0,0,.18);overflow:hidden}.league-season-page .league-division-switcher.game-theme-rocket a:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,rgba(31,145,255,.28),transparent 46%,rgba(255,143,45,.32));z-index:-1}.league-season-page .league-division-switcher.game-theme-rocket a:after{content:"";position:absolute;left:10px;right:10px;bottom:5px;height:2px;border-radius:999px;background:linear-gradient(90deg,#2ea7ff,#ff9b36);opacity:.7}.league-season-page .league-division-switcher.game-theme-rocket a.active{border-color:#2ea7ff;background:linear-gradient(135deg,rgba(20,92,167,.92),rgba(51,56,92,.76));box-shadow:0 0 0 1px rgba(46,167,255,.28),0 0 22px rgba(46,167,255,.16),inset 0 -2px 0 rgba(255,155,54,.9)}.league-season-page .league-division-switcher.game-theme-valorant a{border-color:rgba(255,70,85,.5);background:linear-gradient(135deg,rgba(48,12,20,.9),rgba(7,20,38,.86))}.league-season-page .league-division-switcher.game-theme-valorant a.active{border-color:#ff4655;box-shadow:inset 0 -2px 0 #ff4655}.league-season-page .league-division-switcher.game-theme-tactical a{border-color:rgba(245,158,11,.42);background:linear-gradient(135deg,rgba(38,31,12,.9),rgba(7,20,38,.86))}.league-season-page .league-division-switcher.game-theme-tactical a.active{border-color:#f59e0b;box-shadow:inset 0 -2px 0 #f59e0b}
.league-season-page .league-division-switcher.game-theme-rocket,
.league-season-page .league-division-switcher.game-theme-valorant,
.league-season-page .league-division-switcher.game-theme-tactical{gap:8px;padding:0}
.league-season-page .league-division-switcher.game-theme-rocket .league-division-label,
.league-season-page .league-division-switcher.game-theme-valorant .league-division-label,
.league-season-page .league-division-switcher.game-theme-tactical .league-division-label{color:#9fb4d3}
.league-season-page .league-division-switcher.game-theme-rocket a,
.league-season-page .league-division-switcher.game-theme-valorant a,
.league-season-page .league-division-switcher.game-theme-tactical a{position:static;isolation:auto;min-height:44px;border-radius:8px;border-color:rgba(56,118,180,.22);background:rgba(7,20,38,.7);box-shadow:none;overflow:visible}
.league-season-page .league-division-switcher.game-theme-rocket a:before,
.league-season-page .league-division-switcher.game-theme-rocket a:after{display:none}
.league-season-page .league-division-switcher.game-theme-rocket a.active,
.league-season-page .league-division-switcher.game-theme-valorant a.active,
.league-season-page .league-division-switcher.game-theme-tactical a.active{border-color:#2684ff;background:rgba(38,132,255,.16);box-shadow:inset 0 -2px 0 #2684ff}

.brk-lifecycle-page .lifecycle-actions .brk-btn{
  min-width:132px;
  border-color:rgba(86,125,179,.42);
  border-radius:7px;
  background:rgba(5,15,29,.54);
  box-shadow:none;
}

.brk-lifecycle-page .lifecycle-actions .brk-btn:hover{
  border-color:rgba(38,132,255,.72);
  background:rgba(13,61,119,.18);
}

.brk-lifecycle-page .lifecycle-actions .brk-btn.primary{
  border-color:#2684ff;
  background:rgba(7,20,38,.82);
  color:#fff;
}

.brk-lifecycle-page .lifecycle-actions .brk-btn.primary:hover{
  background:rgba(38,132,255,.16);
}

.league-season-page .league-division-switcher .league-division-label{
  min-height:42px;
  border-color:rgba(56,118,180,.18);
  background:rgba(5,15,29,.22);
}

.league-season-page .league-division-switcher a{
  min-height:42px;
  border-color:rgba(56,118,180,.24);
  background:rgba(5,15,29,.34);
}

.league-season-page .league-division-switcher a.active,
.league-season-page .league-division-switcher.game-theme-rocket a.active,
.league-season-page .league-division-switcher.game-theme-valorant a.active,
.league-season-page .league-division-switcher.game-theme-tactical a.active{
  border-color:rgba(38,132,255,.72);
  background:rgba(38,132,255,.08);
  box-shadow:inset 0 -2px 0 #2684ff;
}

.league-season-page .league-hub-tabs,
.league-playoffs-page .league-hub-tabs{
  gap:20px;
  min-height:52px;
  padding:0 18px;
  margin:0 0 8px;
  border-color:rgba(56,118,180,.24);
  background:rgba(5,15,29,.28);
}

.league-season-page .league-hub-tabs a,
.league-playoffs-page .league-hub-tabs a{
  min-height:50px;
  padding:0 0;
  border-bottom-width:2px;
  background:transparent;
  color:#c5d4e8;
}

.league-season-page .league-hub-tabs a:hover,
.league-playoffs-page .league-hub-tabs a:hover{
  color:#fff;
  background:transparent;
}

.league-season-page .league-hub-tabs a.active,
.league-playoffs-page .league-hub-tabs a.active{
  color:#fff;
  border-color:#2684ff;
  background:transparent;
}

.league-season-page .league-tab-icon,
.league-playoffs-page .league-tab-icon{
  width:24px;
  height:24px;
  border-color:rgba(159,180,211,.22);
  border-radius:6px;
  background:rgba(10,26,45,.58);
  color:#9fb4d3;
}

.league-season-page .league-hub-tabs a.active .league-tab-icon,
.league-playoffs-page .league-hub-tabs a.active .league-tab-icon{
  border-color:rgba(38,132,255,.58);
  background:rgba(38,132,255,.14);
}

.brk-lifecycle-page .lifecycle-breadcrumb{
  position:fixed;
  left:calc(var(--sidebar, 230px) + 32px);
  top:0;
  z-index:47;
  height:64px;
  align-items:center;
  margin:0;
}

.brk-lifecycle-page .lifecycle-header{
  padding-top:0;
}

.league-season-page .league-division-switcher,
.league-playoffs-page .league-division-switcher{
  align-items:stretch;
  gap:14px;
}

.league-season-page .league-division-switcher .league-division-label,
.league-playoffs-page .league-division-switcher .league-division-label{
  min-height:40px;
  padding:0 16px;
  border-color:rgba(56,118,180,.16);
  background:rgba(5,15,29,.2);
}

.league-season-page .league-division-switcher a,
.league-playoffs-page .league-division-switcher a,
.league-season-page .league-division-switcher.game-theme-rocket a,
.league-season-page .league-division-switcher.game-theme-valorant a,
.league-season-page .league-division-switcher.game-theme-tactical a{
  min-height:40px;
  padding:0 0;
  border:0;
  border-bottom:2px solid transparent;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.league-season-page .league-division-switcher a:hover,
.league-playoffs-page .league-division-switcher a:hover{
  color:#fff;
}

.league-season-page .league-division-switcher a.active,
.league-playoffs-page .league-division-switcher a.active,
.league-season-page .league-division-switcher.game-theme-rocket a.active,
.league-season-page .league-division-switcher.game-theme-valorant a.active,
.league-season-page .league-division-switcher.game-theme-tactical a.active{
  border-color:#2684ff;
  background:transparent;
  box-shadow:none;
}
.league-schedule-table,.league-playoff-round{padding:0;overflow:hidden}.league-table-head{padding:18px 18px 10px}
.league-schedule-row,.league-playoff-row{display:grid;align-items:center;gap:10px;min-height:52px;padding:9px 14px;border-bottom:1px solid rgba(56,118,180,.16);color:#dce8f8}
.league-schedule-row{grid-template-columns:92px 70px 110px minmax(260px,1fr) 130px 110px 30px}
.league-playoff-row{grid-template-columns:70px 150px minmax(280px,1fr) 74px 130px 110px 88px 30px}
.league-schedule-row.head,.league-playoff-row.head{min-height:38px;background:rgba(5,15,29,.62);color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase}
.league-schedule-row:last-child,.league-playoff-row:last-child{border-bottom:0}.league-schedule-row strong small{display:block;color:#9fb4d3;font-size:11px;margin-top:2px}
.league-team-pair{display:flex;align-items:center;gap:8px;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.league-team-pair em{color:#9fb4d3;font-style:normal;font-size:12px}
.league-date-schedule{display:grid;gap:14px;margin:0 0 14px}.league-date-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.league-date-head h3{margin:0;color:#fff}.league-date-head p{margin:3px 0 0;color:#9fb4d3}.league-date-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}.league-date-card{display:grid;gap:5px;min-height:86px;text-align:left;border:1px solid rgba(56,118,180,.25);border-radius:8px;background:rgba(5,15,29,.48);color:#dce8f8;padding:12px;font:inherit}.league-date-card strong{color:#fff}.league-date-card span{color:#9fb4d3;font-size:12px}.league-date-card em{color:#58d77c;font-size:12px;font-style:normal;font-weight:900}.league-date-card.active{border-color:#2684ff;background:#0d3d77}.league-date-card.has-conflict,.league-schedule-row.has-conflict,.hub-schedule-row.has-conflict{border-color:rgba(255,189,74,.78);box-shadow:inset 3px 0 0 #ffbd4a}.league-date-card.has-conflict em{color:#ffbd4a}.league-schedule-row.has-conflict,.hub-schedule-row.has-conflict{background:rgba(255,189,74,.08)}
.league-schedule-row.is-draggable{cursor:grab}.league-schedule-row.is-draggable:active{cursor:grabbing}.league-schedule-row.dragging{opacity:.45}.league-schedule-row.drop-target{outline:2px solid #2684ff;outline-offset:-2px;background:rgba(38,132,255,.12)}.league-schedule-row.saving{opacity:.65;pointer-events:none}
.league-round-date-list{display:grid;gap:0;max-height:420px;overflow:auto;border:1px solid rgba(56,118,180,.2);border-radius:8px;background:rgba(5,15,29,.32);margin-bottom:14px}.league-round-date-row{display:grid;grid-template-columns:minmax(220px,1fr) 90px 160px;gap:12px;align-items:center;padding:10px 12px;border-top:1px solid rgba(56,118,180,.16);color:#dce8f8}.league-round-date-row:first-child{border-top:0}.league-round-date-row.head{position:sticky;top:0;z-index:1;background:#071426;color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase}.league-round-date-row strong{display:grid;gap:3px;color:#fff}.league-round-date-row small{color:#9fb4d3;font-size:11px;font-weight:700}.league-round-date-row input{width:100%;min-width:0;border:1px solid rgba(0,183,255,.26);border-radius:8px;background:#05172b;color:#fff;padding:8px}
.league-side-card{display:grid;gap:12px}.league-side-card div,.league-standings-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.league-side-card strong{color:#fff}
.league-teams-panel{display:grid;gap:14px}.league-division-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}.league-division-card{display:grid;gap:10px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(5,15,29,.36);padding:12px}.league-division-head,.league-division-team{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.league-division-head strong{color:#fff}.league-division-head span{color:#9fb4d3;font-size:12px;font-weight:800;text-transform:uppercase}.league-division-team{grid-template-columns:34px 32px minmax(0,1fr) auto;border-top:1px solid rgba(56,118,180,.14);padding-top:9px}.league-division-team:first-of-type{border-top:0;padding-top:0}.league-division-team span{display:grid;place-items:center;width:28px;height:28px;border:1px solid rgba(0,183,255,.24);border-radius:7px;color:#bfe2ff;font-weight:900}.league-division-team b{display:grid;place-items:center;width:28px;height:28px}.league-division-team strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.league-division-team em{color:#9fb4d3;font-size:12px;font-style:normal;font-weight:800}
.league-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.league-match-manager{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;align-items:start}.league-match-editor{position:sticky;top:88px;display:grid;gap:14px}.league-inline-match-form{display:grid;gap:14px}.league-inline-match-form section{display:grid;gap:8px;border-top:1px solid rgba(56,118,180,.16);padding-top:12px}.league-inline-match-form h4{margin:0;color:#fff;font-size:13px}.league-inline-match-form label{display:grid;gap:6px;color:#c2d4ec;font-size:12px;font-weight:800}.league-inline-match-form input,.league-inline-match-form select,.league-inline-match-form textarea{width:100%;min-width:0;border:1px solid rgba(0,183,255,.26);border-radius:8px;background:#05172b;color:#fff;padding:9px}.league-inline-match-form select[multiple]{min-height:96px}.league-inline-check{grid-template-columns:auto minmax(0,1fr)!important;justify-content:start;align-items:center}.league-ladder-panel{display:grid;gap:0;overflow:hidden}.league-ladder-row{display:grid;grid-template-columns:70px minmax(240px,1fr) 70px 70px 80px;gap:10px;align-items:center;min-height:48px;padding:10px 14px;border-top:1px solid rgba(56,118,180,.16);color:#dce8f8}.league-ladder-row.head{min-height:38px;border-top:0;background:rgba(5,15,29,.5);color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase}.league-ladder-row strong{display:flex;align-items:center;gap:10px;min-width:0;color:#fff}.league-ladder-row b{color:#58d77c;text-align:right}
.league-standings-row{grid-template-columns:22px 34px minmax(0,1fr) 54px 38px}.league-standings-row span{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:rgba(38,132,255,.18);color:#24c9ff;font-weight:900}
.league-standings-row em{color:#cfe0f6;font-style:normal}.league-standings-row i{color:#58d77c;font-style:normal;font-weight:900;text-align:right}.league-side-link{color:#39bdf8;text-decoration:none;font-weight:800}
.league-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.league-quick-actions h3{grid-column:1/-1}.league-quick-actions .brk-btn{min-height:48px;white-space:normal}
.league-playoff-tabs{display:flex;gap:8px}.league-playoff-schedule{display:grid;gap:12px}.league-playoff-round-head{padding:14px 14px 0}.league-playoff-round-head span{color:#cfe0f6;margin-left:auto}
.league-add-round{min-height:48px;border:1px dashed rgba(56,118,180,.45);background:rgba(7,20,38,.55);color:#39bdf8;border-radius:8px;font:inherit;font-weight:900}
.league-week-card{padding:16px}.league-week-head{margin-bottom:10px}.league-date-schedule{margin:12px 0 0;padding-top:12px;border-top:1px solid rgba(56,118,180,.16)}.league-date-head{align-items:flex-end}.league-date-card{min-height:76px;padding:11px 12px}.league-date-card strong{font-size:14px}.league-table-head .hub-seeding-tools{display:grid;grid-template-columns:minmax(220px,1fr) minmax(150px,.7fr) minmax(150px,.7fr);flex:1;max-width:720px}.league-table-head .hub-seeding-tools input,.league-table-head .hub-seeding-tools select{width:100%;min-width:0}.league-match-manager{grid-template-columns:minmax(0,1fr) 410px}.league-match-editor{max-height:calc(100vh - 108px);overflow:auto;padding:16px}.league-inline-match-form section{border:1px solid rgba(56,118,180,.14);border-radius:8px;background:rgba(5,15,29,.26);padding:12px}.league-inline-match-form section:first-of-type{border-top:1px solid rgba(56,118,180,.14)}.league-inline-match-form select[multiple]{min-height:84px}.league-inline-match-form .modal-actions{position:sticky;bottom:0;background:linear-gradient(180deg,rgba(7,20,38,0),#071426 34%);padding-top:14px}
@media (max-width:1450px){.league-season-layout,.league-match-manager{grid-template-columns:1fr}.league-match-editor{position:static}.league-overview-grid{grid-template-columns:1fr}.league-schedule-table,.league-playoff-round,.league-match-manager .hub-schedule-table,.league-ladder-panel{overflow-x:auto}.league-schedule-row,.league-playoff-row,.league-match-manager .hub-schedule-row{min-width:980px}.league-ladder-row{min-width:640px}}
.league-match-centre-grid{display:grid;gap:10px}.league-match-centre-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(5,15,29,.34);padding:11px}.league-match-centre-card.is-actionable{cursor:pointer}.league-match-centre-card.is-actionable:hover,.league-match-centre-card.is-actionable:focus-visible{border-color:rgba(38,132,255,.62);background:rgba(13,61,119,.22);outline:none}.league-match-centre-card span{display:block;color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.league-match-centre-card strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.league-match-centre-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9fb4d3}.league-match-centre-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.hub-person-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;margin-top:10px}.hub-person-pick-card{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:9px;align-items:center;min-width:0;text-align:left;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(5,15,29,.34);color:#dce8f8;padding:9px;cursor:pointer}.hub-person-pick-card:hover{border-color:rgba(38,132,255,.58);background:rgba(13,61,119,.22)}.hub-person-pick-card.selected{border-color:#2684ff;background:rgba(38,132,255,.18)}.hub-person-pick-card.disabled{opacity:.45;pointer-events:none}.hub-person-pick-card strong,.hub-person-pick-card small{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-person-pick-card b{border-radius:999px;background:rgba(94,130,178,.18);color:#cfe0f6;padding:4px 7px;font-size:10px}.hub-person-pick-card.selected b{background:#087fb5;color:#fff}.hub-production-picker{position:relative}.hub-match-edit-card.is-focus{border-color:rgba(36,201,255,.5);background:rgba(36,201,255,.06)}.ops-map-grid.compact{display:grid;gap:8px}.hub-map-select-card{width:min(1180px,96vw)}.hub-map-select-games{display:grid;gap:14px;margin-top:18px}.hub-map-game-picker{border:1px solid rgba(56,118,180,.18);border-radius:10px;background:rgba(5,15,29,.26);padding:12px}.hub-map-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:9px}.hub-map-choice-grid.single-pool{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.hub-map-selection-summary{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 12px}.hub-map-selection-summary span{border:1px solid rgba(56,118,180,.24);border-radius:999px;background:rgba(7,20,38,.72);color:#cfe0f6;padding:7px 10px;font-size:12px;font-weight:900}.hub-map-choice{display:grid;gap:8px;text-align:left;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(7,20,38,.72);color:#dce8f8;padding:8px}.hub-map-choice:hover,.hub-map-choice.selected{border-color:#2684ff;background:rgba(38,132,255,.16)}.hub-map-choice-art{display:block;position:relative;min-height:92px;border-radius:7px;background:linear-gradient(135deg,rgba(13,61,119,.72),rgba(5,15,29,.86));background-size:cover;background-position:center;overflow:hidden}.hub-map-choice-art b{position:absolute;left:8px;top:8px;border-radius:999px;background:rgba(3,10,24,.78);color:#fff;padding:4px 7px;font-size:10px}.hub-map-choice strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.hub-map-number-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(34px,1fr));gap:6px}.hub-map-number-row button{min-height:32px;border:1px solid rgba(56,118,180,.28);border-radius:7px;background:rgba(5,15,29,.7);color:#cfe0f6;font:inherit;font-weight:900;cursor:pointer}.hub-map-number-row button:hover{border-color:rgba(38,132,255,.7);color:#fff}.hub-map-number-row button.selected{border-color:#2684ff;background:#0d3d77;color:#fff;box-shadow:inset 0 -2px 0 rgba(255,189,74,.85)}
@media (max-width:760px){.league-season-stats{grid-template-columns:1fr 1fr}.league-week-head,.league-table-head,.league-playoff-round-head,.league-date-head{align-items:flex-start;flex-direction:column}.league-table-head .hub-seeding-tools{grid-template-columns:1fr;max-width:none}.league-week-strip{grid-template-columns:repeat(6,minmax(34px,1fr))}.league-quick-actions{grid-template-columns:1fr}.league-ladder-row{grid-template-columns:52px minmax(180px,1fr) 46px 46px 56px}}
.match-night-panel{padding:0;overflow:hidden}.match-night-header{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:18px 18px 14px;border-bottom:1px solid rgba(56,118,180,.18);background:linear-gradient(180deg,rgba(8,24,44,.72),rgba(5,15,29,.24))}.match-night-header h3{margin:2px 0 0;color:#fff;font-size:24px}.match-night-meta{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;color:#c2d4ec;font-size:12px;font-weight:800}.match-night-meta span,.match-night-meta b{border:1px solid rgba(56,118,180,.28);border-radius:8px;background:rgba(5,15,29,.48);padding:8px 10px}.match-night-meta b{color:#fff}.match-night-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px 14px;border-bottom:1px solid rgba(56,118,180,.14)}.match-night-toolbar .hub-seeding-tools{display:grid;grid-template-columns:minmax(210px,1fr) minmax(140px,.6fr) minmax(140px,.6fr);max-width:690px;flex:1}.match-night-view-tabs{display:flex;align-items:center;gap:6px;align-self:stretch}.match-night-view-tabs button,.match-night-round-pick button{border:0;border-bottom:2px solid transparent;background:transparent;color:#c2d4ec;padding:14px 16px 12px;font:inherit;font-weight:900;cursor:pointer}.match-night-view-tabs button.active,.match-night-round-pick button.active{color:#fff;border-color:#2684ff;background:rgba(38,132,255,.08)}.match-night-timeline{display:grid;gap:0;padding:16px 18px 24px}.match-night-slot{display:grid;grid-template-columns:78px minmax(0,1fr);gap:14px;position:relative}.match-night-slot:not(:last-child){padding-bottom:14px}.match-night-slot:before{content:"";position:absolute;left:61px;top:31px;bottom:-7px;width:1px;background:rgba(125,162,208,.24)}.match-night-slot:last-child:before{display:none}.match-night-time-rail{display:grid;align-content:start;gap:1px;padding-top:9px;color:#9fb4d3}.match-night-time-rail strong{color:#fff;font-size:20px}.match-night-time-rail span{font-size:11px;text-transform:uppercase}.match-night-time-rail:after{content:"";position:absolute;left:56px;top:25px;width:10px;height:10px;border-radius:50%;border:1px solid #9fb4d3;background:#071426}.match-night-slot-matches,.match-night-round-list{display:grid;gap:9px}.league-night-match-card{display:grid;grid-template-columns:120px minmax(260px,1fr) 70px 110px 112px 34px;gap:12px;align-items:center;min-height:60px;border:1px solid rgba(56,118,180,.2);border-radius:8px;background:rgba(7,20,38,.68);box-shadow:inset 3px 0 0 rgba(38,132,255,.7);padding:10px 12px;color:#dce8f8;cursor:pointer}.league-night-match-card:hover,.league-night-match-card.selected{border-color:rgba(38,132,255,.8);background:rgba(13,61,119,.36)}.league-night-match-card.has-conflict{border-color:rgba(255,189,74,.76);box-shadow:inset 3px 0 0 #ffbd4a;background:rgba(255,189,74,.08)}.league-night-match-card[draggable=true]{cursor:grab}.league-night-match-card.dragging{opacity:.45}.league-night-match-card.drop-target{outline:2px solid #2684ff;outline-offset:-2px}.league-night-match-card.saving{opacity:.65;pointer-events:none}.league-night-match-id{display:flex;align-items:center;gap:9px;min-width:0}.league-night-match-id strong{color:#54a7ff;font-size:13px;white-space:nowrap}.league-night-match-id span{color:#fff;font-size:13px}.league-night-teams{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.league-night-teams span{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.league-night-teams em{text-align:center;color:#9fb4d3;font-style:normal;font-size:12px;font-weight:900}.league-night-time{color:#c2d4ec;font-size:12px}.league-night-prod{display:grid;gap:2px;color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase}.league-night-prod span,.league-night-prod em{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-style:normal}.league-night-prod.needs-stream em,.league-night-prod.needs-casters em,.league-night-prod.needs-observer em{color:#ffbd4a}.league-night-prod.ready em{color:#58d77c}.match-night-matrix{display:grid;gap:8px;min-width:calc(150px + var(--night-rounds, 1) * 230px);padding:16px 18px 22px;overflow:auto}.match-night-matrix-head,.match-night-matrix-row{display:grid;grid-template-columns:86px repeat(var(--night-rounds,1),minmax(210px,1fr));gap:8px;align-items:stretch}.match-night-matrix-head{color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase}.match-night-matrix-row>strong{display:flex;align-items:center;color:#fff;border-right:1px solid rgba(56,118,180,.18)}.match-night-matrix-cell{min-width:0}.league-night-match-card.compact{grid-template-columns:1fr 82px;min-height:94px;align-content:start}.league-night-match-card.compact .league-night-match-id{grid-column:1/2}.league-night-match-card.compact .league-night-teams{grid-column:1/-1;grid-template-columns:1fr;gap:4px}.league-night-match-card.compact .league-night-teams em{display:none}.league-night-match-card.compact .league-night-time{grid-column:2/3;grid-row:1;text-align:right}.league-night-match-card.compact .hub-match-status{grid-column:1/2;width:max-content}.league-night-match-card.compact .league-night-prod{grid-column:1/2}.league-night-match-card.compact .hub-menu-btn{grid-column:2/3;grid-row:3/5;justify-self:end}.match-night-empty{display:grid;place-items:center;min-height:94px;border:1px dashed rgba(56,118,180,.22);border-radius:8px;color:#61799b}.match-night-round-pick{display:flex;gap:6px;flex-wrap:wrap;padding:12px 18px 0}.match-night-round-list{padding:16px 18px 24px}.match-night-production{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));gap:12px;padding:16px 18px 24px}.match-night-production-col{display:grid;align-content:start;gap:9px;min-width:0;border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(5,15,29,.26);padding:12px}.match-night-production-col h4{display:flex;align-items:center;justify-content:space-between;margin:0;color:#fff;font-size:13px}.match-night-production-col h4 span{color:#9fb4d3}.match-night-production-col .league-night-match-card.compact{min-height:110px}
@media (max-width:1450px){.match-night-toolbar{align-items:stretch;flex-direction:column}.match-night-toolbar .hub-seeding-tools{max-width:none}.league-night-match-card{grid-template-columns:105px minmax(240px,1fr) 64px 104px 100px 34px}.match-night-production{grid-template-columns:repeat(2,minmax(220px,1fr))}}
@media (max-width:760px){.match-night-header{align-items:flex-start;flex-direction:column}.match-night-meta{justify-content:flex-start}.match-night-toolbar .hub-seeding-tools{grid-template-columns:1fr}.match-night-view-tabs{overflow:auto}.match-night-slot{grid-template-columns:1fr}.match-night-slot:before,.match-night-time-rail:after{display:none}.match-night-time-rail{display:flex;align-items:baseline;gap:6px}.league-night-match-card{grid-template-columns:1fr 34px;gap:8px}.league-night-match-id,.league-night-teams,.league-night-time,.league-night-prod,.league-night-match-card .hub-match-status{grid-column:1/2}.league-night-match-card .hub-menu-btn{grid-column:2/3;grid-row:1/3}.match-night-production{grid-template-columns:1fr}}
.brk-lifecycle-page .lifecycle-stages{grid-template-columns:repeat(auto-fit,minmax(110px,1fr))}
.match-night-date-strip{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-bottom:1px solid rgba(56,118,180,.16);background:rgba(5,15,29,.34)}.match-night-date-buttons{display:flex;gap:8px;min-width:0;overflow:auto;padding-bottom:2px}.match-night-date-buttons button{display:grid;gap:3px;min-width:156px;text-align:left;border:1px solid rgba(56,118,180,.24);border-radius:8px;background:rgba(7,20,38,.62);color:#dce8f8;padding:9px 11px;font:inherit;cursor:pointer}.match-night-date-buttons button.active{border-color:#2684ff;background:#0d3d77}.match-night-date-buttons button.has-conflict{border-color:rgba(255,189,74,.76);box-shadow:inset 3px 0 0 #ffbd4a}.match-night-date-buttons strong{color:#fff;font-size:13px}.match-night-date-buttons span{color:#9fb4d3;font-size:11px;font-weight:800;white-space:nowrap}
@media (max-width:760px){.match-night-date-strip{align-items:stretch;flex-direction:column}.match-night-date-strip>.brk-btn{width:100%}.match-night-date-buttons button{min-width:150px}}
.league-broadcast-board{padding:0;overflow:hidden}.league-broadcast-board>.hub-card-head{padding:16px 18px 14px;margin:0;border-bottom:1px solid rgba(56,118,180,.16)}.league-broadcast-board>.hub-card-head p{margin:3px 0 0;color:#9fb4d3}.league-broadcast-date-strip{padding:12px 18px}.league-broadcast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(360px,1fr));gap:12px;padding:16px 18px 18px}.league-broadcast-card{display:grid;align-content:start;gap:10px;min-width:0;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(7,20,38,.58);padding:12px}.league-broadcast-card.needs-stream{border-color:rgba(255,189,74,.42);box-shadow:inset 3px 0 0 #ffbd4a}.league-broadcast-card-head{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding-bottom:10px;border-bottom:1px solid rgba(56,118,180,.14)}.league-broadcast-card-head strong{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.league-broadcast-card-head span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9fb4d3;font-size:12px}.league-broadcast-card-head b{display:grid;place-items:center;min-width:30px;height:26px;border-radius:999px;background:rgba(38,132,255,.16);color:#fff;font-size:12px}.league-broadcast-match-list{display:grid;gap:8px}.league-broadcast-match{display:grid;grid-template-columns:58px minmax(180px,1fr) minmax(105px,.55fr) 96px minmax(120px,.65fr);gap:10px;align-items:center;min-width:0;border:1px solid rgba(56,118,180,.16);border-radius:8px;background:rgba(5,15,29,.38);padding:9px 10px;color:#dce8f8;cursor:pointer}.league-broadcast-match:hover{border-color:rgba(38,132,255,.56);background:rgba(13,61,119,.25)}.league-broadcast-time{color:#fff;font-weight:900}.league-broadcast-teams{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:6px;align-items:center;min-width:0}.league-broadcast-teams strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.league-broadcast-teams em{text-align:center;color:#9fb4d3;font-style:normal;font-size:11px;font-weight:900}.league-broadcast-round{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#9fb4d3;font-size:12px;font-weight:800}.league-broadcast-match .hub-match-status{justify-self:start}.league-broadcast-match .league-night-prod{min-width:0}
.league-stats-workspace,.league-roster-workspace,.league-overlay-settings{display:grid;gap:14px}.league-stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.league-stats-grid article{border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(7,20,38,.58);padding:14px;display:grid;gap:4px}.league-stats-grid span,.league-stats-grid small,.league-round-stat-list small{color:#9fb4d3}.league-stats-grid strong{color:#fff;font-size:28px}.league-round-stats,.league-stat-table,.league-roster-requests,.league-teams-panel{padding:0;overflow:hidden}.league-round-stats>.hub-card-head,.league-stat-table>.hub-card-head,.league-roster-requests>.hub-card-head,.league-teams-panel>.hub-card-head{padding:16px 18px 14px;margin:0;border-bottom:1px solid rgba(56,118,180,.16)}.league-round-stat-list,.league-stat-leaders,.league-roster-request-list,.league-roster-grid{display:grid;gap:10px;padding:16px 18px}.league-round-stat-list article{display:grid;grid-template-columns:170px minmax(180px,1fr) 130px 150px;gap:12px;align-items:center;border:1px solid rgba(56,118,180,.16);border-radius:8px;background:rgba(5,15,29,.36);padding:10px}.league-round-stat-list meter{width:100%;height:12px}.league-round-stat-list strong,.league-stat-leaders strong{color:#fff}.league-stat-leaders{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.league-stat-leaders article{display:grid;grid-template-columns:28px 34px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(56,118,180,.16);border-radius:8px;background:rgba(5,15,29,.36);padding:10px}.league-stat-leaders small{grid-column:3/-1;color:#9fb4d3}.league-roster-request-list article{display:grid;grid-template-columns:minmax(0,1fr) 180px auto;gap:12px;align-items:center;border:1px solid rgba(56,118,180,.16);border-radius:8px;background:rgba(5,15,29,.36);padding:10px}.league-roster-request-list strong{color:#fff}.league-roster-grid{grid-template-columns:repeat(auto-fit,minmax(360px,1fr))}.league-roster-card{display:grid;gap:12px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(7,20,38,.58);padding:12px}.league-roster-team-head{display:grid;grid-template-columns:32px 34px minmax(0,1fr) auto;gap:10px;align-items:center}.league-roster-team-head>span{display:grid;place-items:center;height:32px;border-radius:8px;background:rgba(94,130,178,.18);color:#fff;font-weight:900}.league-roster-team-head strong{display:block;color:#fff}.league-roster-team-head small{display:block;color:#9fb4d3}.league-roster-player-list{display:grid;gap:7px}.league-roster-player{display:grid;grid-template-columns:26px minmax(0,1fr) auto auto;gap:8px;align-items:center;border:1px solid rgba(56,118,180,.14);border-radius:7px;background:rgba(5,15,29,.36);padding:8px}.league-roster-player b{color:#54a7ff}.league-roster-player span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.league-roster-player button{border:1px solid rgba(56,118,180,.28);border-radius:7px;background:rgba(7,20,38,.72);color:#cfe0f6;font:inherit;font-size:12px;font-weight:800;padding:6px 8px}.league-overlay-settings>.hub-card-head{margin:0}.league-overlay-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;border-left:4px solid #10c7e8}.league-overlay-hero span,.league-overlay-controls h3,.league-overlay-preview h3,.league-overlay-form h3{color:#22d3ee;text-transform:uppercase;letter-spacing:2px;font-size:13px}.league-overlay-hero h3{margin:2px 0;color:#dce8f8;text-transform:uppercase;letter-spacing:2px}.league-overlay-hero p{margin:0;color:#9fb4d3}.league-overlay-toggles{display:grid;gap:10px;min-width:250px}.league-overlay-toggles label{border:1px solid rgba(56,118,180,.28);border-radius:8px;background:rgba(7,20,38,.6);padding:10px;color:#cfe0f6;font-weight:900;text-transform:uppercase;letter-spacing:1px;font-size:12px}.league-overlay-grid{display:grid;grid-template-columns:1.15fr .95fr;gap:14px}.league-overlay-controls,.league-overlay-preview,.league-overlay-form{display:grid;gap:12px}.league-overlay-controls label,.league-overlay-form label{display:grid;gap:7px;color:#9fb4d3;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.league-overlay-controls input,.league-overlay-controls select,.league-overlay-form input,.league-overlay-form select{min-height:40px;border:1px solid rgba(56,118,180,.32);border-radius:8px;background:#071426;color:#dce8f8;padding:0 12px}.league-overlay-preview>div{min-height:230px;border:1px solid rgba(38,132,255,.28);border-radius:16px;background:linear-gradient(135deg,rgba(8,24,44,.94),rgba(19,18,58,.9));display:grid;place-content:center;padding:24px}.league-overlay-preview span{display:grid;place-items:center;width:48px;height:48px;border:1px solid rgba(0,183,255,.4);border-radius:10px;background:rgba(0,139,210,.2);color:#fff;font-weight:900}.league-overlay-preview strong{color:#fff;font-size:32px;text-transform:uppercase;letter-spacing:2px}.league-overlay-preview small{color:#c2d4ec;text-transform:uppercase;font-weight:900}.league-overlay-form{grid-template-columns:repeat(3,minmax(0,1fr))}.league-overlay-form h3{grid-column:1/-1;margin:4px 0 0}
.league-links-page{display:grid;gap:14px}.league-links-page>.hub-card-head{margin:0}.league-link-library{padding:0;overflow:hidden}.league-link-library-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;border-bottom:1px solid rgba(56,118,180,.16);background:rgba(5,15,29,.32)}.league-link-library-head strong{display:block;color:#fff}.league-link-library-head span,.league-link-library-head small{color:#9fb4d3}.league-link-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;padding:16px}.league-link-card{display:grid;gap:10px;min-width:0;border:1px solid rgba(56,118,180,.22);border-left:3px solid #10c7e8;border-radius:8px;background:rgba(7,20,38,.62);padding:14px}.league-link-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.league-link-card h3{margin:0;color:#dce8f8;text-transform:uppercase;letter-spacing:1.5px;font-size:17px}.league-link-card-head span{border:1px solid rgba(0,183,255,.28);border-radius:999px;background:rgba(0,139,210,.18);color:#20d3ff;padding:4px 9px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:1px}.league-link-card p{min-height:38px;margin:0;color:#9fb4d3}.league-link-card input{min-width:0;height:38px;border:1px solid rgba(0,183,255,.24);border-radius:8px;background:#071426;color:#20d3ff;padding:0 12px;font:inherit;font-size:12px;font-weight:800}.league-link-card .brk-btn{width:100%;justify-content:center}
@media (max-width:1180px){.league-broadcast-grid{grid-template-columns:1fr}.league-broadcast-match{grid-template-columns:58px minmax(180px,1fr) 94px}.league-broadcast-round,.league-broadcast-match .league-night-prod{grid-column:2/-1}.league-broadcast-match .hub-match-status{grid-column:3;grid-row:1}}
@media (max-width:760px){.league-broadcast-grid{padding:12px}.league-broadcast-match{grid-template-columns:1fr}.league-broadcast-time,.league-broadcast-round,.league-broadcast-match .hub-match-status,.league-broadcast-match .league-night-prod{grid-column:auto;grid-row:auto}.league-broadcast-teams{grid-template-columns:1fr}.league-broadcast-teams em{text-align:left}}

.league-broadcast-stream-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:58px;
  min-height:28px;
  border:1px solid rgba(38,132,255,.45);
  border-radius:8px;
  background:rgba(38,132,255,.14);
  color:#dce8f8;
  font-size:12px;
  font-weight:900;
  text-decoration:none;
}

.league-broadcast-stream-link:hover{
  border-color:#348cff;
  background:rgba(38,132,255,.28);
  color:#fff;
}

.league-match-centre-map-card{
  grid-template-columns:minmax(0,1fr) auto;
  align-items:start;
}

.league-match-centre-map-card > .brk-btn{
  grid-column:2;
  grid-row:1;
  align-self:start;
}

.league-match-centre-card-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:7px;
  flex-wrap:wrap;
}

.league-match-centre-map-card > .league-match-centre-card-actions{
  grid-column:2;
  grid-row:1;
  align-self:start;
}

.league-match-centre-card-actions .brk-btn{
  min-height:34px;
  padding:0 12px;
}

.league-match-centre-card-actions .brk-btn.subtle{
  min-width:44px;
  border-color:rgba(125,162,208,.24);
  background:rgba(7,20,38,.54);
  color:#cfe0f6;
}

.league-match-centre-card-actions .brk-btn.subtle:hover{
  border-color:rgba(38,132,255,.56);
  background:rgba(38,132,255,.14);
  color:#fff;
}

.league-match-centre-map-head{
  min-width:0;
}

.league-match-centre-map-list{
  grid-column:1/-1;
  display:grid;
  gap:8px;
  min-width:0;
}

.league-match-centre-map-row{
  display:grid;
  grid-template-columns:76px minmax(0,1fr);
  gap:10px;
  align-items:center;
  min-width:0;
  border:1px solid rgba(56,118,180,.16);
  border-radius:8px;
  background:rgba(5,15,29,.34);
  padding:7px;
}

.league-match-centre-map-art{
  position:relative;
  min-height:48px;
  border-radius:7px;
  overflow:hidden;
  background:linear-gradient(135deg,rgba(13,61,119,.82),rgba(5,15,29,.92));
  background-size:cover;
  background-position:center;
}

.league-match-centre-map-art b{
  position:absolute;
  left:6px;
  top:6px;
  border-radius:999px;
  background:rgba(3,10,24,.76);
  color:#fff;
  padding:3px 6px;
  font-size:10px;
  font-weight:900;
}

.league-match-centre-map-row strong,
.league-match-centre-map-row small{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.league-match-centre-map-row strong{
  color:#fff;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.8px;
}

.league-match-centre-map-row small{
  color:#cfe0f6;
  font-size:13px;
  font-weight:900;
}

@media (max-width:760px){
  .league-broadcast-card-head{
    grid-template-columns:34px minmax(0,1fr) auto;
  }

  .league-broadcast-stream-link{
    grid-column:2;
    justify-self:start;
  }
}

.league-roster-player span{
  display:grid;
  gap:2px;
}

.league-roster-player span strong,
.league-roster-player span small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.league-roster-player span small{
  color:#9fb4d3;
  font-size:11px;
}

/* Tournament hub schedule/broadcast fit fixes. */
.league-schedule-row,
.league-playoff-row{
  min-width:0;
}

.league-schedule-table{
  overflow-x:auto;
}

.league-team-pair{
  display:grid;
  grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr);
  align-items:center;
  gap:8px;
  min-width:0;
  overflow:visible;
  white-space:normal;
  text-overflow:clip;
}

.league-team-side{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:0;
}

.league-team-side > span:last-child{
  display:block;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#fff;
}

.league-team-pair em{
  text-align:center;
  flex:0 0 auto;
}

.hub-match-versus{
  grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);
}

.hub-match-versus > div{
  display:grid;
  justify-items:center;
  gap:8px;
  min-width:0;
}

.hub-match-versus strong{
  display:block;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:normal;
  line-height:1.2;
}

.league-match-summary-card{
  align-content:start;
}

.league-match-summary-card .hub-card-head{
  margin-bottom:10px;
}

.league-match-summary-card .hub-card-head h3{
  margin:0;
  color:#fff;
}

.league-match-summary-card .hub-card-head p{
  margin:3px 0 0;
  color:#9fb4d3;
  font-size:12px;
}

.hub-match-versus.compact{
  padding:12px;
  min-height:112px;
}

.hub-match-versus.compact .hub-versus-avatar{
  width:56px;
  height:56px;
  margin:0 auto;
}

.league-summary-info-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border-top:1px solid rgba(56,118,180,.16);
  border-bottom:1px solid rgba(56,118,180,.16);
  margin:2px 0 2px;
}

.league-summary-info-grid > div:not(.league-summary-action-row){
  display:none;
}

.league-summary-action-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:4px 10px;
  align-items:center;
  min-width:0;
  padding:12px 0;
  border-top:1px solid rgba(56,118,180,.14);
}

.league-summary-action-row:first-child{
  border-top:0;
}

.league-summary-action-row span,
.league-summary-action-row strong,
.league-summary-action-row small{
  grid-column:1;
}

.league-summary-action-row > .brk-btn,
.league-summary-action-row > .league-match-centre-card-actions{
  grid-column:2;
  grid-row:1 / span 3;
  align-self:center;
}

.league-summary-action-row > .brk-btn{
  min-height:38px;
  padding:0 13px;
}

.league-summary-info-grid span{
  color:#9fb4d3;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.league-summary-info-grid strong,
.league-summary-info-grid small{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.league-summary-info-grid strong{
  color:#fff;
}

.league-summary-info-grid small{
  color:#9fb4d3;
  font-weight:800;
}

.league-broadcast-grid{
  grid-template-columns:repeat(auto-fit,minmax(min(430px,100%),1fr));
}

.league-broadcast-card-head{
  grid-template-columns:34px minmax(0,1fr) auto auto;
}

.league-broadcast-match{
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:8px 10px;
}

.league-broadcast-teams{
  min-width:0;
}

.league-broadcast-round{
  grid-column:2/3;
}

.league-broadcast-match .hub-match-status{
  grid-column:3;
  grid-row:1;
  justify-self:end;
}

.league-broadcast-match .league-night-prod{
  grid-column:3;
  grid-row:2;
  justify-self:end;
  text-align:right;
  max-width:128px;
}

@media (max-width:760px){
  .league-schedule-row{
    min-width:860px;
  }

  .league-broadcast-card-head{
    grid-template-columns:34px minmax(0,1fr) auto;
  }

  .league-broadcast-card-head b{
    grid-column:3;
    grid-row:1;
  }

  .league-broadcast-match,
  .league-broadcast-round,
  .league-broadcast-match .hub-match-status,
  .league-broadcast-match .league-night-prod{
    grid-column:auto;
    grid-row:auto;
    justify-self:stretch;
    text-align:left;
    max-width:none;
  }
}

.league-roster-player-modal{
  width:min(560px,94vw);
}

.league-roster-player-fields{
  display:grid;
  gap:12px;
}

.league-roster-player-fields label{
  display:grid;
  gap:7px;
  color:#9fb4d3;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
}

.league-roster-player-fields input{
  min-height:42px;
  border:1px solid rgba(56,118,180,.32);
  border-radius:8px;
  background:#071426;
  color:#dce8f8;
  padding:0 12px;
}
.league-roster-team-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}
.league-roster-team-actions .brk-btn{min-height:36px;padding:8px 12px}
.league-team-preferred-time{display:grid;gap:7px;color:#9fb4d3;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.league-team-preferred-time input{height:38px;border:1px solid rgba(56,118,180,.28);border-radius:8px;background:#071426;color:#dce8f8;padding:0 10px;font:inherit;font-weight:800}
.league-team-preferred-time input:disabled{opacity:.55;cursor:not-allowed}
.league-team-time-all{display:flex!important;align-items:center;gap:8px;color:#c2d4ec!important;font-size:12px!important;font-weight:800!important;text-transform:none!important;letter-spacing:0!important}
.league-team-time-all input{width:16px!important;height:16px!important;min-height:0!important;padding:0!important;accent-color:#2684ff}
.hub-schedule-modal-grid label.full{grid-column:1/-1;display:flex;align-items:center;gap:10px;min-height:38px;border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(5,15,29,.34);padding:9px 11px}
.hub-schedule-modal-grid label.full input[type="checkbox"]{width:auto;min-width:18px;height:18px;padding:0}

.lifecycle-stage-node img,
.lifecycle-stage-dot img,
.stage-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  pointer-events: none;
}

.stage-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
}

.lifecycle-stage-node {
  overflow: visible;
}

.lifecycle-stage-rail {
  position: relative;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 10px;
}

.lifecycle-stage-rail::before {
  content: "";
  position: absolute;
  left: 5%;
  right: 5%;
  top: 28px;
  height: 3px;
  background: rgba(130, 158, 190, 0.24);
}

.lifecycle-stage-step {
  position: relative;
  z-index: 1;
  appearance: none;
  border: 0;
  background: transparent;
  color: #dcecff;
  display: grid;
  justify-items: center;
  gap: 7px;
  min-width: 0;
  text-align: center;
  font: inherit;
}

.lifecycle-stage-step .lifecycle-stage-node {
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 999px;
}
.hub-org-match-ops,
.hub-org-match-comms{
  margin-top:14px;
  border:1px solid rgba(80,140,220,.22);
  border-radius:14px;
  background:rgba(5,18,38,.72);
  padding:14px;
}

.hub-org-checkin-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:12px;
}

.hub-org-checkin-team{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:8px;
  align-items:start;
  border:1px solid rgba(80,140,220,.22);
  border-radius:12px;
  background:rgba(7,22,45,.72);
  padding:12px;
  min-width:0;
}

.hub-org-checkin-team.checked{
  border-color:rgba(45,220,128,.38);
  background:rgba(16,80,54,.32);
}

.hub-org-checkin-team>div{
  display:grid;
  grid-template-columns:34px minmax(0,1fr);
  align-items:center;
  gap:10px;
  min-width:0;
}

.hub-org-checkin-team strong{
  min-width:0;
  overflow-wrap:anywhere;
  line-height:1.2;
  color:#fff;
  font-weight:900;
}

.hub-org-checkin-team span{
  color:#fff;
  font-weight:800;
}

.hub-org-checkin-team small{
  color:#9fb3ca;
}

.hub-org-checkin-team .brk-btn{
  width:100%;
  min-height:34px;
  padding:7px 10px;
  white-space:normal;
  line-height:1.15;
}

.hub-org-checkin-team .hub-live-pill{
  justify-self:start;
}

.league-match-editor .hub-org-checkin-grid{
  grid-template-columns:1fr;
}

.hub-org-lobby-after-checkin{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  margin-top:12px;
  border:1px solid rgba(80,140,220,.22);
  border-radius:12px;
  background:rgba(7,22,45,.72);
  padding:12px;
}

.hub-org-lobby-after-checkin.ready{
  border-color:rgba(45,220,128,.34);
  background:rgba(10,52,42,.36);
}

.hub-org-lobby-after-checkin.locked{
  opacity:.74;
}

.hub-org-lobby-after-checkin span{
  display:block;
  color:#9fb4d3;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:1px;
}

.hub-org-lobby-after-checkin strong{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
  color:#fff;
  font-weight:900;
  margin-top:3px;
}

.hub-org-lobby-after-checkin small{
  display:block;
  color:#9fb4d3;
  margin-top:3px;
}

.hub-org-lobby-after-checkin .league-match-centre-card-actions{
  min-width:148px;
}

.hub-org-chat-feed{
  display:grid;
  gap:10px;
  max-height:300px;
  overflow:auto;
  padding-right:2px;
}

.hub-org-chat-message{
  border:1px solid rgba(80,140,220,.22);
  border-radius:12px;
  background:rgba(9,25,50,.74);
  padding:11px 12px;
}

.hub-org-chat-message.is-checkin{
  border-color:rgba(45,220,128,.34);
}

.hub-org-chat-message.is-dispute{
  border-color:rgba(255,92,122,.38);
}

.hub-org-chat-message>div{
  display:flex;
  justify-content:space-between;
  gap:12px;
  margin-bottom:6px;
}

.hub-org-chat-message strong{
  color:#fff;
}

.hub-org-chat-message span{
  color:#9fb3ca;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.hub-org-chat-message p{
  margin:0;
  color:#dce9fb;
  line-height:1.45;
}

.hub-org-chat-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  margin-top:12px;
}

.hub-org-chat-form input{
  min-height:42px;
  border:1px solid rgba(80,140,220,.28);
  border-radius:10px;
  background:rgba(2,13,31,.85);
  color:#fff;
  padding:0 14px;
}

.hub-org-chat-form small{
  grid-column:1/-1;
  color:#9fb3ca;
}

@media (max-width:900px){
  .hub-org-checkin-grid,
  .hub-org-chat-form{
    grid-template-columns:1fr;
  }
}
/* Open ladder competition hub */
.open-ladder-page {
  display: grid;
  gap: 18px;
}

.open-ladder-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
}

.open-ladder-main,
.open-ladder-side,
.open-ladder-table,
.open-ladder-challenge-list,
.open-ladder-create {
  display: grid;
  gap: 12px;
}

.open-ladder-finals-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.open-ladder-row,
.open-ladder-challenge {
  display: grid;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  border: 1px solid rgba(61, 86, 124, 0.68);
  border-radius: 12px;
  background: rgba(10, 24, 42, 0.78);
}

.open-ladder-row {
  grid-template-columns: 54px 54px 42px minmax(0, 1fr) 52px 64px 72px;
}

.open-ladder-row b,
.open-ladder-row em {
  color: #f8fbff;
  font-style: normal;
  font-weight: 900;
}

.open-ladder-row strong {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.open-ladder-row > div {
  min-width: 0;
}

.open-ladder-row small,
.open-ladder-challenge small,
.open-ladder-challenge em {
  color: rgba(190, 212, 238, 0.78);
  font-style: normal;
}

.open-ladder-logo {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(37, 160, 255, 0.45);
  border-radius: 10px;
  background: rgba(17, 74, 145, 0.48);
  overflow: hidden;
}

.open-ladder-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.open-ladder-move,
.open-ladder-last,
.open-ladder-streak {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(79, 107, 148, 0.58);
  background: rgba(7, 19, 35, 0.72);
  color: rgba(205, 225, 248, 0.82);
  font-size: 0.78rem;
  font-weight: 900;
}

.open-ladder-move.is-up,
.open-ladder-last.is-win {
  border-color: rgba(36, 214, 135, 0.52);
  background: rgba(11, 93, 64, 0.32);
  color: #4dffb0;
}

.open-ladder-move.is-down,
.open-ladder-last.is-loss {
  border-color: rgba(255, 91, 118, 0.52);
  background: rgba(118, 29, 56, 0.32);
  color: #ff8da3;
}

.open-ladder-streak {
  color: #f8fbff;
}

.open-ladder-role {
  display: inline-flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  gap: 2px;
  min-height: 22px;
  padding: 3px 8px;
  border-radius: 999px;
  border: 1px solid rgba(79, 107, 148, 0.58);
  background: rgba(7, 19, 35, 0.72);
  color: rgba(205, 225, 248, 0.9);
  font-size: 0.68rem;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
  white-space: normal;
}

.open-ladder-role b,
.open-ladder-role small {
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.open-ladder-role b {
  color: inherit;
  font: inherit;
}

.open-ladder-role small {
  color: rgba(205, 225, 248, 0.78);
  font-size: 0.62rem;
  font-weight: 800;
}

.open-ladder-role.is-challenging {
  border-color: rgba(36, 214, 135, 0.44);
  background: rgba(11, 93, 64, 0.3);
  color: #62f7b1;
}

.open-ladder-role.is-defending,
.open-ladder-role.is-challenged {
  border-color: rgba(37, 160, 255, 0.46);
  background: rgba(17, 74, 145, 0.34);
  color: #9ed5ff;
}

.open-ladder-selected-team strong {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;
  min-width: 0;
  text-align: right;
}

.open-ladder-selected-team .open-ladder-role {
  max-width: 100%;
}

.open-ladder-selected-team .open-ladder-role b,
.open-ladder-selected-team .open-ladder-role small {
  max-width: 190px;
}

.open-ladder-rules {
  scroll-margin-top: 96px;
}

.open-ladder-settings {
  scroll-margin-top: 96px;
}

.open-ladder-settings-form {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.open-ladder-settings-form label {
  display: grid;
  gap: 7px;
  color: rgba(205, 225, 248, 0.86);
  font-weight: 800;
}

.open-ladder-settings-form input {
  min-height: 42px;
  border: 1px solid rgba(0, 168, 255, 0.42);
  border-radius: 10px;
  background: #061629;
  color: #f8fbff;
  padding: 0 12px;
  font: inherit;
}

.open-ladder-settings-form small {
  color: rgba(190, 212, 238, 0.72);
  font-weight: 700;
}

.open-ladder-rule-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.open-ladder-rule-grid article {
  min-height: 118px;
  padding: 14px;
  border: 1px solid rgba(61, 86, 124, 0.58);
  border-radius: 12px;
  background: rgba(5, 18, 34, 0.72);
}

.open-ladder-rule-grid strong {
  display: block;
  color: #f8fbff;
  font-size: 0.92rem;
  font-weight: 900;
  margin-bottom: 7px;
}

.open-ladder-rule-grid p {
  margin: 0;
  color: rgba(190, 212, 238, 0.82);
  line-height: 1.45;
}

.open-ladder-challenge {
  grid-template-columns: 190px minmax(0, 1fr) 110px 80px minmax(190px, auto);
}

.open-ladder-challenge > span {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: wrap;
}

.open-ladder-challenge-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  flex-wrap: wrap;
}

.open-ladder-challenge-actions .brk-btn {
  white-space: nowrap;
}

.open-ladder-create label {
  display: grid;
  gap: 7px;
  color: rgba(205, 225, 248, 0.86);
  font-weight: 800;
}

.open-ladder-create select,
.open-ladder-create input {
  min-height: 42px;
  border: 1px solid rgba(0, 168, 255, 0.42);
  border-radius: 10px;
  background: rgba(1, 12, 28, 0.78);
  color: #f8fbff;
  padding: 0 12px;
}

.open-ladder-offer {
  display: grid;
  grid-template-columns: minmax(0, 260px) 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(0, 198, 255, 0.35);
  border-radius: 12px;
  background: rgba(4, 31, 56, 0.78);
}

.open-ladder-offer small {
  display: block;
  color: rgba(190, 212, 238, 0.78);
  margin-top: 3px;
}

.open-ladder-slot-list {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.open-ladder-proposals {
  display: grid;
  gap: 10px;
}

.open-ladder-proposals > div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

@media (max-width: 1180px) {
  .open-ladder-layout {
    grid-template-columns: 1fr;
  }

  .open-ladder-challenge {
    grid-template-columns: 1fr;
  }

  .open-ladder-row {
    grid-template-columns: 42px 44px 38px minmax(0, 1fr);
  }

  .open-ladder-row .open-ladder-last,
  .open-ladder-row .open-ladder-streak,
  .open-ladder-row em {
    grid-column: span 1;
  }

  .open-ladder-offer,
  .open-ladder-settings-form,
  .open-ladder-proposals > div,
  .open-ladder-rule-grid {
    grid-template-columns: 1fr;
  }

  .open-ladder-slot-list {
    justify-content: flex-start;
  }
}

.seed-team-logo{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(56,118,180,.32);border-radius:8px;background:rgba(7,20,38,.72);color:#24c9ff;font-size:12px;font-weight:900;overflow:hidden}.seed-team-logo img{display:block;width:100%;height:100%;object-fit:contain}.league-ladder-row{overflow:hidden}.league-ladder-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-match-status.conflict{background:rgba(255,189,74,.18);color:#ffbd4a}
.league-matches-panel{padding:0;overflow:hidden}.league-matches-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:16px 16px 12px;border-bottom:1px solid rgba(56,118,180,.16)}.league-matches-head h3{margin:0;color:#fff}.league-matches-head p{margin:4px 0 0;color:#9fb4d3}.league-matches-head .hub-seeding-tools{display:grid;grid-template-columns:minmax(220px,1fr) 160px;max-width:520px;flex:1}.league-matches-tabs{display:flex;gap:6px;overflow:auto;padding:0 16px;border-bottom:1px solid rgba(56,118,180,.14)}.league-matches-tabs button{border:0;border-bottom:2px solid transparent;background:transparent;color:#c2d4ec;padding:13px 14px 11px;font:inherit;font-weight:900;white-space:nowrap;cursor:pointer}.league-matches-tabs button.active{color:#fff;border-color:#2684ff;background:rgba(38,132,255,.08)}.league-match-list{display:grid;gap:8px;padding:14px}.league-match-list-card{display:grid;grid-template-columns:88px minmax(260px,1.4fr) 110px minmax(160px,.8fr) 104px 118px 34px;gap:12px;align-items:center;min-height:64px;border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(7,20,38,.58);padding:10px 12px;color:#dce8f8;cursor:pointer}.league-match-list-card:hover,.league-match-list-card.selected{border-color:rgba(38,132,255,.82);background:rgba(13,61,119,.36)}.league-match-list-card.selected{box-shadow:inset 3px 0 0 #2684ff}.league-match-list-card.has-conflict{border-color:rgba(255,189,74,.76);box-shadow:inset 3px 0 0 #ffbd4a;background:rgba(255,189,74,.08)}.league-match-list-id{display:grid;gap:2px}.league-match-list-id span{color:#fff;font-size:18px;font-weight:900}.league-match-list-id strong{color:#9fb4d3;font-size:11px}.league-match-list-teams{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:8px;align-items:center;min-width:0}.league-match-list-teams span{display:flex;align-items:center;gap:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}.league-match-list-teams em{text-align:center;color:#9fb4d3;font-size:11px;font-style:normal;font-weight:900}.league-match-list-meta,.league-match-list-prod{display:grid;gap:3px;min-width:0;color:#c2d4ec;font-size:12px}.league-match-list-meta b{color:#fff}.league-match-list-prod span,.league-match-list-prod small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-match-list-prod small{color:#9fb4d3}.league-match-list-card .league-night-prod{font-size:10px}
.league-matches-head{padding:12px 16px 9px}
.league-matches-head h3{font-size:16px}
.league-matches-head p{margin-top:2px;font-size:12px}
.league-match-list{gap:7px;padding:10px 14px 14px}
.league-match-list-card{min-height:58px;padding:8px 11px}
.league-match-list-id span{font-size:16px}
@media (max-width:1450px){.league-match-list-card{grid-template-columns:78px minmax(260px,1fr) 94px 104px 92px 100px 34px}.league-matches-head{align-items:stretch;flex-direction:column}.league-matches-head .hub-seeding-tools{max-width:none}}
@media (max-width:760px){.league-matches-head .hub-seeding-tools{grid-template-columns:1fr}.league-match-list-card{grid-template-columns:1fr 34px}.league-match-list-id,.league-match-list-teams,.league-match-list-meta,.league-match-list-prod,.league-match-list-card .hub-match-status,.league-match-list-card .league-night-prod{grid-column:1/2}.league-match-list-card .hub-menu-btn{grid-column:2/3;grid-row:1/3}.league-match-list-teams{grid-template-columns:1fr}.league-match-list-teams em{display:none}}
.league-ladder-builder{padding:0;overflow:hidden}.league-ladder-builder-head{padding:16px 16px 12px;margin:0;border-bottom:1px solid rgba(56,118,180,.16)}.league-ladder-column-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px 16px;border-bottom:1px solid rgba(56,118,180,.14);background:rgba(5,15,29,.28)}.league-ladder-column-tools>strong{color:#c2d4ec;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-right:4px}.league-ladder-column-tools button{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(56,118,180,.32);border-radius:999px;background:rgba(7,20,38,.64);color:#c2d4ec;padding:5px 10px;font:inherit;font-size:12px;font-weight:800;cursor:pointer}.league-ladder-column-tools button span{border-radius:999px;background:rgba(94,130,178,.22);color:#9fb4d3;padding:2px 7px;font-size:10px;text-transform:uppercase}.league-ladder-column-tools button.active{border-color:rgba(0,183,255,.58);background:rgba(0,139,210,.2);color:#fff}.league-ladder-column-tools button.active span{background:#087fb5;color:#fff}.league-ladder-hint{margin:0;padding:12px 16px;color:#9fb4d3;font-size:12px;border-bottom:1px solid rgba(56,118,180,.14)}.league-ladder-scroll{overflow:auto}.league-ladder-custom-table{display:grid;min-width:max(980px,calc(var(--ladder-cols, 1) * 96px));padding:0 0 8px}.league-ladder-custom-row{display:grid;grid-template-columns:repeat(var(--ladder-cols,1),minmax(84px,1fr));align-items:center;min-height:38px;border-bottom:1px solid rgba(56,118,180,.16);color:#dce8f8}.league-ladder-custom-row.head{position:sticky;top:0;z-index:1;min-height:48px;background:#071426;color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase}.league-ladder-custom-row>div{display:flex;align-items:center;gap:8px;min-width:0;padding:9px 10px}.league-ladder-custom-row>div.club{min-width:220px}.league-ladder-custom-row>div.rank,.league-ladder-custom-row>div.num,.league-ladder-custom-row>div.movement{justify-content:flex-start}.league-ladder-custom-row>div.strong b{color:#58d77c}.league-ladder-custom-row.head button{display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(0,183,255,.28);border-radius:999px;background:rgba(0,139,210,.15);color:#bfe2ff;font:inherit;font-weight:900;cursor:pointer}.league-ladder-custom-row.head span{margin-right:auto}.league-ladder-club{display:flex;align-items:center;gap:10px;min-width:0;color:#fff}.league-ladder-club span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-ladder-form{display:flex;gap:4px}.league-ladder-form i{display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:rgba(94,130,178,.22);color:#cfe0f6;font-style:normal;font-size:10px;font-weight:900}.league-ladder-form i.w{background:rgba(34,197,94,.18);color:#58d77c}.league-ladder-form i.l{background:rgba(255,59,92,.16);color:#ff7c95}.league-ladder-form i.d{background:rgba(245,158,11,.16);color:#ffbd4a}.league-ladder-latest{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seed-team-logo{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid rgba(56,118,180,.32);border-radius:8px;background:rgba(7,20,38,.72);color:#24c9ff;font-size:12px;font-weight:900;overflow:hidden}.seed-team-logo img{display:block;width:100%;height:100%;object-fit:contain}
@media (max-width:760px){.league-ladder-builder-head{align-items:flex-start;flex-direction:column}.league-ladder-builder-head .brk-btn{width:100%}.league-ladder-column-tools{align-items:flex-start}.league-ladder-custom-table{min-width:900px}}
.league-ladder-scroll{overflow-x:auto;overflow-y:visible}.league-ladder-custom-table{min-width:max(1040px,var(--ladder-min-width,1040px))}.league-ladder-custom-row{grid-template-columns:var(--ladder-grid,repeat(var(--ladder-cols,1),minmax(84px,1fr)))}.league-ladder-custom-row>div{min-width:0;overflow:hidden}.league-ladder-custom-row>div.club{min-width:0;justify-content:flex-start}.league-ladder-custom-row>div.rank,.league-ladder-custom-row>div.num,.league-ladder-custom-row>div.movement{justify-content:center}.league-ladder-custom-row.head>div{overflow:visible}.league-ladder-custom-row.head>div.club{min-width:0}.league-ladder-club{width:100%;min-width:0;overflow:hidden}.league-ladder-club .seed-team-logo{flex:0 0 34px}.league-ladder-club span:last-child{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-ladder-latest{display:block;width:100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.league-ladder-column-tools{gap:7px}.league-ladder-column-tools button{min-height:30px}
.league-ladder-custom-row.head [data-ladder-column-header]{cursor:grab;user-select:none;border-radius:6px;transition:background .15s ease,color .15s ease,opacity .15s ease}.league-ladder-custom-row.head [data-ladder-column-header]:active{cursor:grabbing}.league-ladder-custom-row.head [data-ladder-column-header].dragging{opacity:.42;background:rgba(0,139,210,.12)}.league-ladder-custom-row.head [data-ladder-column-header].drop-target{background:rgba(0,139,210,.26);color:#fff;outline:1px solid rgba(0,183,255,.55);outline-offset:-1px}.league-ladder-custom-row.head [data-ladder-column-header] span{pointer-events:none;margin:0}

.league-ladder-builder-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px;border-bottom:1px solid rgba(56,118,180,.14);background:rgba(2,10,22,.42)}
.league-ladder-builder-tabs button{min-height:34px;padding:7px 14px;border:1px solid rgba(56,118,180,.34);border-radius:8px;background:rgba(7,20,38,.72);color:#c2d4ec;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.league-ladder-builder-tabs button.active{border-color:rgba(0,183,255,.7);background:linear-gradient(180deg,rgba(0,183,255,.32),rgba(0,113,180,.26));color:#fff}
.league-ladder-config-panel{padding:12px 16px;border-bottom:1px solid rgba(56,118,180,.14);background:rgba(3,12,24,.28)}
.league-ladder-config-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.league-ladder-config-head h3{margin:0;color:#dce8f8;font-size:16px}
.league-ladder-config-head p{margin:4px 0 0;color:#9fb4d3;font-size:12px}
.league-ladder-scoring-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.league-ladder-scoring-grid label{display:grid;gap:6px;color:#bdd2ea;font-size:12px;font-weight:800}
.league-ladder-scoring-grid input,.league-ladder-scoring-grid select{width:100%;min-height:38px;border:1px solid rgba(56,118,180,.34);border-radius:8px;background:#061326;color:#eaf7ff;padding:7px 10px;font:inherit}
.league-ladder-tiebreak-tools{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.league-ladder-tiebreak-tools>strong{color:#c2d4ec;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-right:4px}
.league-ladder-tiebreak{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:5px 7px;border:1px solid rgba(56,118,180,.32);border-radius:9px;background:rgba(7,20,38,.64);color:#c2d4ec;font-size:12px;font-weight:800}
.league-ladder-tiebreak.active{border-color:rgba(0,183,255,.55);background:rgba(0,139,210,.18);color:#fff}
.league-ladder-tiebreak label{display:inline-flex;align-items:center;gap:5px;color:inherit;font-size:11px}
.league-ladder-tiebreak button,.league-ladder-custom-row.head small button{display:grid;place-items:center;width:21px;height:21px;border:1px solid rgba(0,183,255,.32);border-radius:999px;background:rgba(0,139,210,.18);color:#bfe2ff;font:inherit;font-weight:900;cursor:pointer}
.league-ladder-tiebreak button:disabled,.league-ladder-custom-row.head small button:disabled{opacity:.35;cursor:not-allowed}
.league-ladder-custom-row.head small{display:inline-flex;align-items:center;gap:5px;margin-left:auto}
.league-ladder-tiebreak-order{margin:12px 16px;padding:10px 12px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(3,12,24,.48);color:#c2d4ec;font-size:12px;font-weight:800}
.league-ladder-column-tools button.locked{opacity:.72;cursor:not-allowed}
@media (max-width:760px){.league-ladder-config-head{display:grid}.league-ladder-config-head .brk-btn{width:100%}}
.league-date-card-panel{padding:16px;margin-bottom:14px}.league-date-card-panel .league-date-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.league-broadcast-card{cursor:pointer}.league-broadcast-card:hover{border-color:rgba(38,132,255,.58);background:rgba(13,61,119,.24)}.league-broadcast-match.selected{border-color:#2684ff;background:rgba(13,61,119,.38);box-shadow:inset 3px 0 0 #2684ff}.league-settings-page{display:grid;gap:14px}.league-settings-hero{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border-left:4px solid #24c9ff}.league-settings-hero h2{margin:2px 0 6px;color:#fff}.league-settings-hero p{margin:0;color:#c2d4ec}.league-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:12px}.league-settings-card{display:grid;gap:7px;min-height:128px;padding:16px;cursor:pointer}.league-settings-card:hover{border-color:rgba(38,132,255,.62);background:rgba(13,61,119,.22)}.league-settings-card span{color:#24c9ff;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.8px}.league-settings-card strong{color:#fff;font-size:18px}.league-settings-card small{color:#9fb4d3;line-height:1.45}.league-settings-admin{padding:16px}.league-settings-action-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}.league-settings-page .league-overlay-settings{margin-top:0}
.league-bridge-card{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:18px;align-items:start;border-left:4px solid #2f80ed}.league-bridge-copy{display:grid;gap:7px}.league-bridge-copy h3{font-size:20px}.league-bridge-copy small{display:block;margin-top:6px;color:#ffcf7a;font-weight:800}.league-bridge-control{display:grid;gap:10px}.league-bridge-control label{display:grid;gap:7px;color:#9fb4d3;font-size:12px;font-weight:800}.league-bridge-control input{min-width:0;height:40px;border:1px solid rgba(0,183,255,.24);border-radius:8px;background:#071426;color:#20d3ff;padding:0 12px;font:inherit;font-size:12px;font-weight:800}.league-bridge-control .hub-seeding-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.league-bridge-note{margin:0!important;color:#9fb4d3!important;font-size:12px!important}
@media (max-width:900px){.league-bridge-card{grid-template-columns:1fr}.league-bridge-control .hub-seeding-tools{grid-template-columns:1fr}}
.league-schedule-row.selected{border-color:#2684ff;background:rgba(13,61,119,.38);box-shadow:inset 3px 0 0 #2684ff}
.league-ladder-movement{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:42px;color:#9fb4d3;font-weight:900}.league-ladder-movement i{font-style:normal;font-size:12px;line-height:1}.league-ladder-movement b{color:inherit;font-size:12px}.league-ladder-movement.is-up{color:#58d77c}.league-ladder-movement.is-down{color:#ff5d76}.league-ladder-movement.is-same{color:#7486a4}
.match-night-nav-stack{display:grid;gap:9px;min-width:0;flex:1}.match-night-week-buttons{display:flex;align-items:center;gap:8px;min-width:0;overflow:auto}.match-night-week-buttons>strong{flex:0 0 auto;color:#9fb4d3;font-size:11px;font-weight:900;letter-spacing:1.6px;text-transform:uppercase}.match-night-week-buttons button{display:grid;place-items:center;min-width:42px;min-height:30px;border:1px solid rgba(56,118,180,.26);border-radius:8px;background:rgba(7,20,38,.62);color:#cfe0f6;font:inherit;font-weight:900;cursor:pointer}.match-night-week-buttons button.active{border-color:#2684ff;background:rgba(38,132,255,.24);color:#fff}
.league-schedule-nav-strip{border-top:0;border-radius:8px 8px 0 0}
.match-night-empty-config{display:flex;align-items:center;min-height:38px;color:#9fb4d3;font-size:12px;font-weight:800}

.league-season-page,
.league-playoffs-page{
  --league-sticky-top:0px;
  --league-tabs-height:48px;
}

.league-season-page .league-hub-tabs,
.league-playoffs-page .league-hub-tabs{
  position:sticky;
  top:var(--league-sticky-top);
  z-index:32;
  background:rgba(5,15,29,.96);
  backdrop-filter:blur(14px);
}

.league-season-page .league-match-manager,
.league-playoffs-page .league-match-manager{
  min-height:min(820px,calc(100vh - 132px));
  max-height:calc(100vh - 132px);
  overflow:hidden;
  align-items:stretch;
}

.league-season-page .hub-schedule-main,
.league-playoffs-page .hub-schedule-main{
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
}

.league-season-page .match-night-panel,
.league-playoffs-page .match-night-panel,
.league-season-page .league-matches-panel,
.league-playoffs-page .league-matches-panel,
.league-season-page .league-schedule-table,
.league-playoffs-page .league-schedule-table{
  overflow:visible;
}

.league-season-page .league-match-editor,
.league-playoffs-page .league-match-editor{
  align-self:stretch;
  top:calc(var(--league-sticky-top) + var(--league-tabs-height) + 10px);
  max-height:calc(100vh - 132px);
}

.league-season-page .match-night-date-strip,
.league-playoffs-page .match-night-date-strip{
  position:sticky;
  top:58px;
  z-index:24;
  background:rgba(5,15,29,.96);
  backdrop-filter:blur(14px);
}

.league-season-page .match-night-date-buttons,
.league-playoffs-page .match-night-date-buttons{
  flex:1 1 auto;
  flex-wrap:wrap;
  align-items:stretch;
  align-content:start;
  overflow:visible;
  padding-bottom:0;
}

.league-season-page .match-night-date-buttons button,
.league-playoffs-page .match-night-date-buttons button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:74px;
  width:max-content;
  max-width:none;
  min-height:36px;
  gap:6px;
  padding:0 13px;
  text-align:center;
}

.league-season-page .match-night-date-buttons button[data-schedule-date-filter="all"],
.league-playoffs-page .match-night-date-buttons button[data-schedule-date-filter="all"]{
  min-width:98px;
}

.league-season-page .match-night-date-buttons span,
.league-playoffs-page .match-night-date-buttons span{
  display:none;
}

.league-season-page .match-night-date-buttons strong,
.league-playoffs-page .match-night-date-buttons strong{
  white-space:nowrap;
  line-height:1.25;
}

.league-season-page .league-date-grid,
.league-playoffs-page .league-date-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.league-season-page .league-date-card,
.league-playoffs-page .league-date-card{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:74px;
  width:max-content;
  min-height:36px;
  padding:0 13px;
  gap:6px;
}

.league-season-page .league-date-card strong,
.league-playoffs-page .league-date-card strong{
  white-space:nowrap;
}

.league-season-page .league-date-card span,
.league-playoffs-page .league-date-card span{
  display:none;
}

.league-season-page .league-date-card em,
.league-playoffs-page .league-date-card em{
  font-size:10px;
}

.league-season-page .match-night-header,
.league-playoffs-page .match-night-header{
  position:sticky;
  top:86px;
  z-index:22;
}

.league-season-page .match-night-toolbar,
.league-playoffs-page .match-night-toolbar{
  position:sticky;
  top:0;
  z-index:26;
  background:rgba(5,15,29,.96);
  backdrop-filter:blur(14px);
}

.league-season-page .league-table-head,
.league-playoffs-page .league-table-head,
.league-season-page .league-matches-head,
.league-playoffs-page .league-matches-head{
  position:sticky;
  top:0;
  z-index:23;
  background:rgba(5,15,29,.96);
  backdrop-filter:blur(14px);
}

.league-season-page .league-schedule-nav-strip,
.league-playoffs-page .league-schedule-nav-strip,
.league-season-page .league-matches-date-strip,
.league-playoffs-page .league-matches-date-strip{
  top:74px;
}

@media (max-width:1450px){
  .league-season-page .league-match-manager,
  .league-playoffs-page .league-match-manager{
    max-height:none;
    overflow:visible;
  }

  .league-season-page .hub-schedule-main,
  .league-playoffs-page .hub-schedule-main{
    overflow:visible;
  }

  .league-season-page .match-night-panel,
  .league-playoffs-page .match-night-panel,
  .league-season-page .league-matches-panel,
  .league-playoffs-page .league-matches-panel,
  .league-season-page .league-schedule-table,
  .league-playoffs-page .league-schedule-table{
    overflow-x:auto;
    overflow-y:visible;
  }

  .league-season-page .league-match-editor,
  .league-playoffs-page .league-match-editor{
    max-height:none;
  }
}

.league-hub-tabs-ladder-only{display:flex;width:100%;margin-bottom:30px}
.league-hub-tabs-ladder-only a{min-width:150px;text-align:center}
.league-ladder-column-tools .ladder-column-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(56,118,180,.32);border-radius:999px;background:rgba(7,20,38,.64);padding:3px;color:#c2d4ec}
.league-ladder-column-tools .ladder-column-chip.active{border-color:rgba(0,183,255,.58);background:rgba(0,139,210,.2);color:#fff}
.league-ladder-column-tools .ladder-column-chip.locked{opacity:.82}
.league-ladder-column-tools .ladder-column-chip-toggle{min-height:26px;border:0;background:transparent;padding:3px 7px;color:inherit}
.league-ladder-column-tools .ladder-column-chip-toggle:disabled{cursor:not-allowed}
.league-ladder-column-tools .ladder-column-chip-arrows{display:inline-flex;align-items:center;gap:3px;padding-right:2px}
.league-ladder-column-tools .ladder-column-chip-arrows button{display:grid;place-items:center;min-width:22px;width:22px;height:22px;min-height:22px;padding:0;border:1px solid rgba(0,183,255,.3);border-radius:999px;background:rgba(0,139,210,.2);color:#bfe2ff;font-size:11px;font-weight:950;line-height:1}
.league-ladder-column-tools .ladder-column-chip-arrows button:disabled{opacity:.32;cursor:not-allowed}
.league-ladder-custom-row.head{min-height:42px}
.league-ladder-custom-row.head>div{justify-content:center;padding:8px 9px}
.league-ladder-custom-row.head>div.club{justify-content:flex-start}
.league-ladder-custom-row.head [data-ladder-column-header] span{width:100%;margin:0;text-align:center;line-height:1.15;white-space:normal;overflow-wrap:anywhere}
.league-ladder-custom-row.head [data-ladder-column-header].club span{text-align:left}
.league-ladder-custom-row>div{padding:10px 12px}
.league-ladder-custom-row>div.rank,.league-ladder-custom-row>div.movement{padding-left:14px;padding-right:8px}
.league-ladder-custom-row.is-finals-top,.league-ladder-custom-row.is-finals-bottom{position:relative;background:color-mix(in srgb,var(--ladder-row-color,#2684ff) 16%,transparent)}
.league-ladder-custom-row.is-finals-top{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--ladder-row-color,#1f8f5f) 88%,#fff 0%)}
.league-ladder-custom-row.is-finals-bottom{box-shadow:inset 3px 0 0 color-mix(in srgb,var(--ladder-row-color,#b93452) 88%,#fff 0%)}
.league-ladder-custom-row.has-finals-cutoff{position:relative;margin-bottom:18px}
.league-ladder-custom-row.has-finals-cutoff::after{content:"";position:absolute;left:12px;right:12px;bottom:-12px;height:2px;background:var(--ladder-cutoff-color,#ffbd4a);box-shadow:0 0 0 1px rgba(0,0,0,.22)}
.league-ladder-custom-row.has-finals-cutoff::before{content:"Finals cutoff";position:absolute;right:14px;bottom:-22px;z-index:2;border:1px solid color-mix(in srgb,var(--ladder-cutoff-color,#ffbd4a) 76%,#fff 0%);border-radius:999px;background:#071426;color:#fff;padding:3px 8px;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.playoff-setup-panel{display:grid;gap:14px;margin:16px 0;padding:16px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(5,15,29,.7)}
.playoff-setup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.playoff-setup-head h3{margin:2px 0 5px;color:#fff;font-size:18px}
.playoff-setup-head p{margin:0;color:#9fb4d3;font-size:12px;line-height:1.45}
.playoff-status-pill{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(36,201,255,.28);border-radius:999px;background:rgba(0,139,210,.14);color:#bfe2ff;font-size:11px;font-weight:900;text-transform:uppercase;white-space:nowrap}
.playoff-setup-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;align-items:end}
.playoff-setup-grid label{display:grid;gap:6px;color:#bdd2ea;font-size:12px;font-weight:850}
.playoff-setup-grid input,.playoff-setup-grid select{width:100%;min-height:38px;border:1px solid rgba(56,118,180,.34);border-radius:8px;background:#061326;color:#eaf7ff;padding:7px 10px;font:inherit}
.playoff-setup-grid input:disabled{opacity:.7;cursor:not-allowed}
.playoff-setup-summary{display:grid;gap:3px;min-height:58px;padding:10px 12px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(3,12,24,.58)}
.playoff-setup-summary small{color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}
.playoff-setup-summary strong{color:#fff;font-size:14px}
.playoff-seed-preview{display:flex;flex-wrap:wrap;gap:8px;min-height:32px}
.playoff-seed-preview span{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:5px 9px;border:1px solid rgba(56,118,180,.28);border-radius:8px;background:rgba(7,20,38,.72);color:#dce8f8;font-size:12px;font-weight:850}
.playoff-seed-preview b{color:#24c9ff}
.playoff-seed-preview small{color:#9fb4d3;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}
.playoff-seed-preview em{color:#9fb4d3;font-style:normal;font-size:12px}
.playoff-division-preview{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.playoff-division-preview article{display:grid;gap:7px;align-content:start;padding:10px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(3,12,24,.45)}
.playoff-division-preview article>strong{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.playoff-division-preview span{display:flex;align-items:center;gap:7px;min-width:0;color:#dce8f8;font-size:12px;font-weight:850}
.playoff-division-preview span b{color:#24c9ff}
.playoff-division-preview em{color:#9fb4d3;font-size:12px;font-style:normal}
.playoff-setup-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.playoff-setup-actions small{color:#9fb4d3;font-size:12px;font-weight:800}
@media (max-width:760px){.playoff-setup-head{display:grid}.playoff-status-pill{justify-self:start}.playoff-setup-actions button{width:100%}}
.playoff-period-panel{display:grid;gap:14px;margin:0 0 16px;padding:16px;border:1px solid rgba(255,189,74,.28);border-radius:8px;background:linear-gradient(180deg,rgba(35,25,8,.42),rgba(5,15,29,.7))}
.playoff-period-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.playoff-period-head h3{margin:2px 0 5px;color:#fff;font-size:18px}
.playoff-period-head p{margin:0;color:#c9d8eb;font-size:12px;line-height:1.45}
.playoff-period-head>span{display:inline-flex;align-items:center;min-height:28px;padding:5px 9px;border:1px solid rgba(255,189,74,.38);border-radius:999px;background:rgba(255,189,74,.12);color:#ffe0a3;font-size:11px;font-weight:950;text-transform:uppercase;white-space:nowrap}
.playoff-period-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px}
.playoff-period-stats b{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(3,12,24,.52);color:#fff;font-size:22px}
.playoff-period-stats small{color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1px}
.playoff-period-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.period-tools-heading{margin:16px 0 10px;color:#dce8f8;font-size:15px}
@media (max-width:760px){.playoff-period-head{display:grid}.playoff-period-actions a,.playoff-period-actions button{width:100%;justify-content:center}}
.playoff-review-title{align-items:flex-start}
.playoff-review-title .brk-muted{margin:6px 0 0;color:#9fb4d3;max-width:760px}
.playoff-review-panel{display:grid;gap:14px;margin:0 0 16px}
.playoff-review-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px}
.playoff-review-summary article{display:grid;gap:3px;min-height:96px;padding:14px;border:1px solid rgba(56,118,180,.24);border-radius:8px;background:rgba(5,15,29,.74)}
.playoff-review-summary span{color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:1.2px}
.playoff-review-summary strong{color:#fff;font-size:24px;line-height:1.1}
.playoff-review-summary small{color:#c2d4ec;font-size:12px;font-weight:800}
.playoff-review-grid{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr);gap:14px}
.playoff-review-card{padding:16px}
.playoff-review-checklist{display:grid;gap:8px}
.playoff-review-checklist div{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:42px;padding:8px 10px;border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(3,12,24,.46);color:#c2d4ec}
.playoff-review-checklist div.ready{border-color:rgba(34,197,94,.32);background:rgba(34,197,94,.08)}
.playoff-review-checklist i{display:grid;place-items:center;min-width:28px;height:24px;border-radius:999px;background:rgba(125,162,208,.16);color:#9fb4d3;font-style:normal;font-size:10px;font-weight:950}
.playoff-review-checklist .ready i{background:rgba(34,197,94,.2);color:#58d77c}
.playoff-review-checklist span{min-width:0;color:#fff;font-weight:900}
.playoff-review-checklist strong{color:#c2d4ec;font-size:12px;white-space:nowrap}
.playoff-review-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:9px}
.playoff-review-actions .brk-btn{justify-content:center;min-height:38px}
.playoff-review-seed-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:12px}
.playoff-review-seed-list article{display:grid;grid-template-columns:auto 34px minmax(0,1fr);align-items:center;gap:9px;min-height:52px;padding:9px 10px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(3,12,24,.48)}
.playoff-review-seed-list b{color:#24c9ff;font-size:12px}
.playoff-review-seed-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font-size:13px}
.playoff-review-seed-list small{grid-column:3/4;color:#9fb4d3;font-size:11px;font-weight:850}
.playoff-review-division-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:14px}
.playoff-review-division-grid article{display:grid;gap:8px;align-content:start;padding:12px;border:1px solid rgba(56,118,180,.22);border-radius:8px;background:rgba(3,12,24,.42)}
.playoff-review-division-grid article>strong{color:#fff;font-size:12px;text-transform:uppercase;letter-spacing:1px}
.playoff-review-division-grid span{display:flex;align-items:center;gap:8px;min-width:0;color:#dce8f8;font-size:12px;font-weight:850}
.playoff-review-division-grid span b{color:#24c9ff}
.playoff-review-division-grid em{color:#9fb4d3;font-size:12px;font-style:normal}
@media (max-width:980px){.playoff-review-grid{grid-template-columns:1fr}.playoff-review-checklist div{grid-template-columns:30px minmax(0,1fr)}.playoff-review-checklist strong{grid-column:2/3;white-space:normal}.playoff-review-title .hub-seeding-tools{width:100%}}
.league-ladder-effect-control{display:flex;align-items:center;gap:8px;min-height:38px;border:1px solid rgba(56,118,180,.34);border-radius:8px;background:#061326;padding:6px 8px}
.league-ladder-effect-control input[type="checkbox"]{width:18px;height:18px;accent-color:#24c9ff}
.league-ladder-effect-control input[type="color"]{width:46px;height:26px;border:0;border-radius:6px;background:transparent;padding:0;cursor:pointer}
@media (max-width:760px){.league-hub-tabs-ladder-only{width:100%;overflow:auto}.league-hub-tabs-ladder-only a{min-width:132px}.league-ladder-column-tools .ladder-column-chip{width:100%;justify-content:space-between}.league-ladder-column-tools .ladder-column-chip-toggle{justify-content:flex-start}}

.league-team-pair.is-completed{grid-template-rows:auto auto}
.league-team-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0}
.league-team-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.league-team-score{display:grid;place-items:center;min-width:26px;height:24px;border-radius:7px;background:rgba(125,162,208,.16);color:#dce8f8;font-size:13px;font-weight:950}
.league-team-side.winner .league-team-score{background:rgba(34,197,94,.2);color:#58d77c}
.league-team-side.loser .league-team-score{background:rgba(255,59,92,.13);color:#ff8fa2}
.league-match-result-line{grid-column:1/-1;display:block;min-width:0;margin-top:3px;color:#9fb4d3;font-size:11px;font-weight:850;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.league-match-list-card .league-match-result-line,.league-night-match-card .league-match-result-line{font-size:10px}
.league-night-match-card:has(.league-match-result-line),.league-match-list-card:has(.league-match-result-line){min-height:76px}
.hub-match-versus.is-completed{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);align-items:start}
.hub-match-versus.is-completed>div{position:relative;display:grid;justify-items:center;gap:8px;min-width:0}
.hub-match-versus.is-completed>div.winner strong{color:#fff}
.hub-match-versus.is-completed>div.loser strong{color:#c2d4ec}
.hub-match-versus.is-completed>span{align-self:center;border:1px solid rgba(56,118,180,.32);border-radius:999px;background:rgba(5,15,29,.56);padding:5px 8px;color:#9fb4d3;font-size:11px}
.hub-versus-score{display:grid!important;place-items:center!important;width:auto!important;min-width:38px!important;height:30px!important;margin:0!important;border-radius:8px!important;background:rgba(125,162,208,.16)!important;color:#dce8f8!important;font-size:16px!important;font-weight:950!important}
.hub-match-versus .winner .hub-versus-score{background:rgba(34,197,94,.2)!important;color:#58d77c!important}
.hub-match-versus .loser .hub-versus-score{background:rgba(255,59,92,.13)!important;color:#ff8fa2!important}
.hub-versus-result{grid-column:1/-1;display:block;width:100%;margin-top:8px;padding-top:10px;border-top:1px solid rgba(56,118,180,.18);color:#c2d4ec;font-size:12px;font-weight:900}

.hub-match-action-menu{position:relative;display:grid;place-items:center;width:34px;justify-self:end}
.hub-match-action-panel{position:absolute;right:0;top:calc(100% + 6px);z-index:20;display:grid;gap:4px;min-width:150px;padding:6px;border:1px solid rgba(56,118,180,.34);border-radius:8px;background:#071426;box-shadow:0 14px 30px rgba(0,0,0,.34)}
.hub-match-action-panel[hidden]{display:none}
.hub-match-action-panel button{display:block;width:100%;min-height:32px;border:0;border-radius:6px;background:transparent;color:#dce8f8;padding:7px 9px;text-align:left;font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.hub-match-action-panel button:hover{background:rgba(38,132,255,.18);color:#fff}
.league-match-list-card .hub-match-action-menu,.league-night-match-card .hub-match-action-menu,.league-schedule-row .hub-match-action-menu,.hub-schedule-row .hub-match-action-menu{align-self:center}

/* Keep the main admin side navigation pinned while the page content scrolls. */
@media (min-width: 901px) {
  .admin-app-shell > .admin-sidebar {
    position: fixed !important;
    top: 24px !important;
    bottom: 24px !important;
    left: 24px !important;
    height: auto !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overscroll-behavior: contain;
  }

  body.admin-sidebar-collapsed .admin-app-shell > .admin-sidebar {
    width: 72px !important;
    min-width: 72px !important;
  }
}

@media (max-width: 900px) {
  .admin-app-shell > .admin-sidebar {
    position: static !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    overflow: visible !important;
  }
}

.league-production-summary,.league-stat-highlights{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px 0}
.league-production-summary article,.league-stat-highlights article{border:1px solid rgba(56,118,180,.18);border-radius:8px;background:rgba(5,15,29,.36);padding:12px;display:grid;gap:4px;min-width:0}
.league-production-summary span,.league-stat-highlights span{color:#9fb4d3;font-size:12px;font-weight:800;text-transform:uppercase}
.league-production-summary strong,.league-stat-highlights strong{color:#fff;font-size:24px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.league-production-summary small,.league-stat-highlights small{color:#9fb4d3}
.league-production-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px 18px}
.league-production-card{border:1px solid rgba(56,118,180,.16);border-radius:8px;background:rgba(5,15,29,.36);padding:12px;display:grid;gap:10px;min-width:0}
.league-production-card h4{margin:0;color:#fff;font-size:14px}
.league-production-card>div{display:grid;gap:8px}
.league-production-card span{display:grid;grid-template-columns:26px minmax(0,1fr) auto;gap:8px;align-items:center;color:#cfe0f6}
.league-production-card b{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:rgba(38,132,255,.18);color:#54a7ff;font-size:12px}
.league-production-card strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.league-production-card em{font-style:normal;color:#9fb4d3;font-size:12px;font-weight:800}
.league-team-performance-table{display:grid;padding:16px 18px 0;overflow:auto}
.league-team-performance-table .head,.league-team-performance-table article{display:grid;grid-template-columns:minmax(220px,1.3fr) repeat(6,minmax(86px,.55fr));gap:10px;align-items:center;min-width:860px}
.league-team-performance-table .head{padding:0 10px 8px;color:#9fb4d3;font-size:11px;font-weight:900;text-transform:uppercase}
.league-team-performance-table article{border-top:1px solid rgba(56,118,180,.14);padding:10px;color:#dce8f8}
.league-team-performance-table article strong{display:flex;align-items:center;gap:10px;min-width:0;color:#fff}
.league-team-performance-table article strong span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.league-team-performance-table b{color:#dce8f8;text-align:right}
.league-team-performance-table b.good{color:#58d77c}.league-team-performance-table b.bad{color:#ff6b7f}
.league-map-stat-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;padding:16px 18px}
.league-map-stat-list article{display:grid;grid-template-columns:28px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(56,118,180,.16);border-radius:8px;background:rgba(5,15,29,.36);padding:10px}
.league-map-stat-list b{display:grid;place-items:center;width:26px;height:26px;border-radius:7px;background:rgba(31,143,95,.18);color:#58d77c;font-size:12px}
.league-map-stat-list strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff}
.league-map-stat-list span{color:#cfe0f6;font-weight:800}.league-map-stat-list small{grid-column:2/-1;color:#9fb4d3}
@media (max-width: 980px){.league-production-summary,.league-stat-highlights,.league-production-grid{grid-template-columns:1fr}.league-team-performance-table .head,.league-team-performance-table article{min-width:780px}}
