* {
  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 1fr;
  overflow: hidden;
}

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

.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;
}

.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;
  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-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;
}

.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;
  }
}


/* 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;}

@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-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;}
}



/* 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);
}

.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;
  }
}
