/* Shared visual language of the group table. Scoped to the two competition pages.
   No tab visibility, layout state or match data is changed here. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page {
  --tfp-ink: #173047;
  --tfp-navy: #102f48;
  --tfp-navy-deep: #0d283f;
  --tfp-blue: #175fb8;
  --tfp-line: #d9e4ee;
  --tfp-subtle: #5b7287;
  --tfp-surface: #ffffff;
  --tfp-soft: #f5f9fd;
  --tfp-lime: #a6d74b;
  color: var(--tfp-ink);
  font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page :is(.league-panel,.league-manager-tab-host,.tournament-manager-tab-host) {
  min-width: 0;
}
/* The competition navigation follows the white toolbar and navy selection in the table. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-top-tabs {
  border: 1px solid var(--tfp-line) !important;
  border-radius: 8px !important;
  background: #fff !important;
  box-shadow: 0 5px 18px rgb(16 47 72 / 5%) !important;
  padding: 5px !important;
  gap: 5px !important;
  flex-wrap: nowrap;
  scrollbar-width: thin;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-top-tab:not(.tfp-finish-main-tab) {
  min-height: 38px !important;
  min-width: 0 !important;
  padding: 7px 12px !important;
  border-radius: 6px !important;
  background: transparent !important;
  border: 1px solid transparent !important;
  color: #304962 !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  text-shadow: none !important;
  white-space: nowrap;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-top-tab:not(.tfp-finish-main-tab):is(.active,.is-active,[aria-selected="true"]) {
  color: #fff !important;
  background: var(--tfp-navy) !important;
  border-color: var(--tfp-navy) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-top-tab:not(.tfp-finish-main-tab):hover:not(.active):not(.is-active) {
  background: #eff5fa !important;
  color: var(--tfp-navy) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-mini-tabs {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  gap: 7px !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-mini-tab,
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-round-tab {
  min-height: 35px !important;
  padding: 6px 13px !important;
  border: 1px solid var(--tfp-line) !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--tfp-ink) !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page :is(.league-mini-tab,.league-round-tab):is(.active,[aria-selected="true"]) {
  background: var(--tfp-navy) !important;
  border-color: var(--tfp-navy) !important;
  color: #fff !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page :is(.league-mini-tab,.league-round-tab):focus-visible,
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page :is(button,a,input,select,textarea):focus-visible {
  outline: 2px solid #45a6db !important;
  outline-offset: 2px;
}
/* White surfaces, restrained borders and dark section headings like the table. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-card,.league-admin-card,.tfp-admin-card,.league-match-card,.tournament-match-card-pro,.league-results-card,.league-config-card,.league-stats-hero-card,.league-round-manager-card,.tournament-schedule-row,.tfp-schedule-card,.tfp-bracket-pro-card,.tournament-bracket-match,.league-result-card) {
  border: 1px solid var(--tfp-line) !important;
  border-radius: 11px !important;
  background: var(--tfp-surface) !important;
  box-shadow: 0 7px 22px rgb(16 47 72 / 6%) !important;
  color: var(--tfp-ink) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-section-head,.league-config-heading,.tfp-admin-card__head,.league-results-card__head) h2,
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-card,.league-admin-card,.tfp-admin-card,.league-config-card,.league-stats-hero-card,.league-round-manager-card,.league-match-card,.tournament-match-card-pro) :is(h2,h3,h4) {
  color: var(--tfp-ink) !important;
  text-shadow: none !important;
  line-height: 1.25 !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-section-head,.league-config-heading) :is(h2,h3) {
  font-size: clamp(19px,2.3vw,25px) !important;
  letter-spacing: -.025em !important;
  color: var(--tfp-ink) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-section-head,.league-config-heading,.league-card,.league-admin-card,.tfp-admin-card,.league-stats-hero-card,.league-config-card,.league-round-manager-card) :is(p,small,label,span):not(.league-pill):not(.league-save-btn):not(.league-cancel-btn) {
  color: var(--tfp-subtle);
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-card,.league-admin-card,.tfp-admin-card,.league-stats-hero-card,.league-config-card,.league-round-manager-card) :is(strong,b) {
  color: var(--tfp-ink);
}
/* Strong header bars distinguish results and management groups without blue gradients. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page :is(.league-results-card__head,.league-table-card__header,.league-standings-card__head,.league-admin-accordion__trigger) {
  background: var(--tfp-navy) !important;
  border-color: var(--tfp-navy) !important;
  color: #fff !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page :is(.league-results-card__head,.league-table-card__header,.league-standings-card__head,.league-admin-accordion__trigger) :is(h2,h3,h4,strong,span,small,p) {
  color: #fff !important;
}
/* The admin intro keeps a clear hierarchy without oversized banners. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-manage-tab-intro {
  border: 1px solid #31516a !important;
  border-radius: 11px !important;
  background: var(--tfp-navy) !important;
  box-shadow: 0 9px 22px rgb(16 47 72 / 10%) !important;
  padding: 17px 20px !important;
  color: #fff !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-manage-tab-intro :is(h2,p,span) {color:#fff !important;line-height:1.35 !important}
/* Manager containers and forms remain readable on both light and dark ancestors. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel--manage :is(.league-admin-panel,.tfp-manager__panel,.tfp-manager--league,.tfp-manager--tournament) {
  color: var(--tfp-ink);
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel--manage :is(.league-admin-panel,.tfp-manager__panel):not(.tfp-manager-command) {
  background: #fff !important;
  border: 1px solid var(--tfp-line) !important;
  border-radius: 11px !important;
  box-shadow: 0 7px 22px rgb(16 47 72 / 6%) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel--manage :is(.league-admin-card,.tfp-admin-card,.tfp-group-card,.tfp-manager-card) {
  background: #fff !important;
  color: var(--tfp-ink) !important;
  border: 1px solid var(--tfp-line) !important;
  border-radius: 10px !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel--manage :is(.league-admin-card,.tfp-admin-card,.tfp-group-card,.tfp-manager-card) :is(h2,h3,h4,strong) {
  color: var(--tfp-ink) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel--manage :is(.league-admin-card,.tfp-admin-card,.tfp-group-card,.tfp-manager-card) :is(label,small,p) {
  color: var(--tfp-subtle) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea) {
  max-width: 100%;
  min-width: 0;
  min-height: 39px;
  border: 1px solid #cbd9e7 !important;
  border-radius: 7px !important;
  background: #fff !important;
  color: var(--tfp-ink) !important;
  box-shadow: inset 0 1px 2px rgb(16 47 72 / 3%) !important;
  font-size: 13px !important;
  font-weight: 550 !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(input,textarea)::placeholder { color: #637c90 !important;opacity:1 }
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(input,select,textarea):disabled { background:#eff3f6 !important;color:#65798c !important;cursor:not-allowed }
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(.league-save-btn,.tfp-manager-action,.tfp-btn-primary,.tournament-score-save,.tfp-schedule-export-btn,.tfp-pdf-action) {
  border: 1px solid var(--tfp-navy) !important;
  border-radius: 7px !important;
  background: var(--tfp-navy) !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(.league-save-btn,.tfp-manager-action,.tfp-btn-primary,.tournament-score-save,.tfp-schedule-export-btn,.tfp-pdf-action):hover:not(:disabled) {
  background: #1c506e !important;
  color: #fff !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(.league-cancel-btn,.tfp-delete-group-btn,.tournament-score-cancel-btn) {
  border-radius: 7px !important;
  background: #fff5f5 !important;
  border: 1px solid #e9c9cc !important;
  color: #a02c38 !important;
  box-shadow: none !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(button,a):disabled {opacity:.55;cursor:not-allowed;box-shadow:none !important}
/* Non-standings tables share the standings' navy heading and slim row dividers. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) table:not(.league-standings-table) {border-collapse:separate;border-spacing:0;background:#fff;color:var(--tfp-ink)}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) table:not(.league-standings-table) thead th {
  background: var(--tfp-navy) !important;
  color: #fff !important;
  border-color: #34546d !important;
  font-size: 10px !important;
  font-weight: 800 !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) table:not(.league-standings-table) tbody td {
  color: var(--tfp-ink) !important;
  background: #fff;
  border-bottom: 1px solid var(--tfp-line) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) table:not(.league-standings-table) tbody tr:nth-child(even) td {background:#f7fafd}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-table-wrap,.league-table-scroll,.league-results-scroll,.league-results-card,.tfp-bracket-pro__scroll) {max-width:100%;overflow-x:auto}
/* Status colors remain semantic and readable. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(.league-flash--success,.tournament-flash--success) {color:#16624d;background:#e7f6ee;border-color:#b5e4ce}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(.league-flash--error,.tournament-flash--error) {color:#922d3c;background:#fff1f2;border-color:#f0c5cf}
@media(max-width:760px){
  body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-top-tabs{gap:4px !important;padding:5px !important}
  body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-top-tab:not(.tfp-finish-main-tab){min-height:40px !important;padding:8px 10px !important;font-size:11px !important}
  body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) :is(.league-card,.league-admin-card,.tfp-admin-card,.league-match-card,.tournament-match-card-pro,.league-results-card,.league-config-card,.league-stats-hero-card,.league-round-manager-card){border-radius:9px !important}
  body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-manage-tab-intro{padding:14px 16px !important}
  body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel :is(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="range"]),select,textarea){font-size:16px !important}
}
/* Keep white titles on navy bars despite more specific light-card rules. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) .league-results-card__head :is(h2,h3,h4,strong,span,p),
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel:not(#table) .league-admin-accordion__trigger :is(h2,h3,h4,strong,span,p) {color:#fff !important}
body[data-page="tournament-view"] .tournament-page .tfp-manager-command {
  background: linear-gradient(120deg,#0e2d45,#1a4862 70%,#205a71) !important;
  border: 1px solid #2a536b !important;
  border-radius: 11px !important;
  box-shadow: 0 9px 22px rgb(16 47 72 / 10%) !important;
}
body[data-page="tournament-view"] .tournament-page .tfp-manager-command :is(h2,p,strong,span,small) {color:#fff}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page .league-panel .league-admin-card--danger {
  background: #fff9f8 !important;
  border-color: #e9c9cc !important;
}
/* The old stats sheet expects a dark gradient; its white copy must follow the new light cards. */
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page #stats.league-panel .league-stats-hero-card :is(.league-stats-hero-card__value,.league-stats-hero-card__value a) {
  color: var(--tfp-ink) !important;
  text-shadow: none !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page #stats.league-panel .league-stats-hero-card :is(.league-stats-hero-card__label,.league-stats-hero-card__sub) {
  color: var(--tfp-subtle) !important;
}
body:is([data-page="league-view"],[data-page="tournament-view"]) .league-page #results.league-panel .league-results-card__head p {
  color: var(--tfp-navy) !important;
  background: #fff !important;
  border: 1px solid #d9e4ee !important;
}
