.deportistas-eef-page .page-action-btn {
  border-radius: 999px;
  font-weight: 700;
  border-width: 1.5px;
  padding: 0.34rem 0.75rem;
  box-shadow: none !important;
  transition: box-shadow 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.deportistas-eef-page .page-action-btn:hover,
.deportistas-eef-page .page-action-btn:focus {
  box-shadow: 0 8px 18px -12px rgba(15, 23, 42, 0.55);
}

.deportistas-eef-page .btn-pdf-listado {
  background: transparent;
  color: #b91c1c;
  border-color: #dc2626;
}

.deportistas-eef-page .btn-pdf-listado:hover,
.deportistas-eef-page .btn-pdf-listado:focus {
  color: #ffffff;
  border-color: #b91c1c;
  background: linear-gradient(135deg, #b91c1c 0%, #9f1239 100%);
  box-shadow: 0 8px 18px -12px rgba(190, 18, 60, 0.9);
}

.deportistas-eef-page .btn-pdf-listado:disabled {
  opacity: 0.85;
  cursor: wait;
}

#filtrosModal .btn-filter-clear,
#filtrosModal .btn-filter-apply {
  border-radius: 999px;
  font-weight: 700;
  padding: 0.34rem 0.75rem;
}

#tablaDeportistas th.col-dorsal,
#tablaDeportistas td.col-dorsal {
  width: 38px;
  min-width: 38px;
  max-width: 38px;
}

.btn-dorsal {
  font-weight: 800;
  font-size: 0.74rem;
  min-width: 22px;
  width: 22px;
  max-width: 22px;
  min-height: 1.45rem;
  height: 1.45rem;
  border-radius: 5px;
  padding: 0 1px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  font-variant-numeric: tabular-nums;
  border-color: #93c5fd;
  background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
}

.btn-dorsal:hover,
.btn-dorsal:focus {
  background: #0d6efd !important;
  border-color: #0b5ed7 !important;
  color: #ffffff !important;
}

.dorsal-fed-mobile {
  display: none;
}

.dorsal-header-mobile {
  display: none;
}

#tablaDeportistas th.col-kind,
#tablaDeportistas td.col-kind {
  border-right: 1px solid #e0efeb;
  box-shadow: none !important;
}

#tablaDeportistas th.col-kind.col-kind-header {
  width: 45px;
  min-width: 45px;
  max-width: 45px;
}

#tablaDeportistas td.col-kind.col-kind-cell {
  width: 60px;
  min-width: 60px;
  max-width: 60px;
}

.kind-badge {
  font-size: 0.85rem;
}

.kind-badge.kind-badge-reserve {
  background-color: #dee2e6;
  color: #212529;
}

.btn-puesto {
  min-width: 34px;
  border-radius: 7px;
  padding: 0.14rem 0.2rem;
  line-height: 1.15;
}

.deportistas-eef-page .sector-puesto-color,
.sector-puesto-color {
  color: #234;
  background-color: var(--sector-fondo);
  border-color: var(--sector-borde);
}

.tooltip.deportista-row-tooltip .tooltip-inner {
  max-width: 280px;
  text-align: left;
  line-height: 1.3;
}

.deportistas-eef-page .sector-puesto-color:hover,
.deportistas-eef-page .sector-puesto-color:focus,
.deportistas-eef-page .sector-puesto-color:active,
.sector-puesto-color:hover,
.sector-puesto-color:focus,
.sector-puesto-color:active {
  color: #234;
  background-color: var(--sector-hover);
  border-color: var(--sector-borde);
}

.sector-selector-btn {
  color: #234 !important;
  background-color: var(--sector-fondo, #e9ecef) !important;
  border-color: var(--sector-borde, #6c757d) !important;
}

.sector-selector-btn:hover,
.sector-selector-btn:focus {
  color: #234 !important;
  background-color: var(--sector-hover, #dee2e6) !important;
  border-color: var(--sector-borde, #6c757d) !important;
}

.sector-selector-btn.sector-selector-active {
  font-weight: 700 !important;
  box-shadow: inset 0 0 0 1px rgba(17, 24, 39, 0.18), 0 2px 6px rgba(0, 0, 0, 0.12);
}

.sector-peg-label {
  display: inline-flex;
  align-items: center;
  gap: 1px;
  font-weight: 700;
}

.sector-peg-sector {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8rem;
  line-height: 1.1;
}

.sector-peg-separator,
.sector-peg-puesto {
  font-weight: 700;
  color: #374151;
}

.sector-peg-btn,
.sector-peg-static {
  border-width: 2px !important;
  border-style: solid !important;
  border-color: var(--sector-borde, #6c757d) !important;
}

.sector-peg-static {
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border-radius: 0.25rem;
}

.sector-peg-btn {
  transition: background-color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
  cursor: pointer;
}

.sector-peg-btn:hover,
.sector-peg-btn:focus {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
  transform: translateY(-1px);
}

.sector-peg-btn:active {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.18);
  transform: translateY(0);
}

.btn-puesto-ef {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  width: 100%;
  overflow: hidden;
}

.manga-ef-linea1,
.manga-ef-linea2 {
  display: block;
  white-space: nowrap;
  width: 100%;
}

.manga-ef-linea1 {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
  font-weight: 700;
  font-size: 0.88rem;
}

.manga-ef-codigo {
  display: inline-block;
  margin: 0 auto;
}

.manga-ef-icono {
  display: inline-block;
  line-height: 1;
}

.manga-ef-linea2 {
  font-size: 0.71rem;
  line-height: 1.15;
  text-align: left;
}

.sector-R-td {
  color: #8b98a5;
}

@media (min-width: 768px) {
  .btn-dorsal {
    font-size: 0.9rem;
  }
}

@media (max-width: 767px) {
  .tooltip.deportista-row-tooltip .tooltip-inner {
    max-width: 78vw;
    font-size: 0.78rem;
  }

  .col-kind {
    display: none !important;
  }

  .dorsal-header-desktop {
    display: none;
  }

  .dorsal-header-mobile {
    display: inline;
  }

  #tablaDeportistas th.col-dorsal,
  #tablaDeportistas td.col-dorsal {
    width: 28px !important;
    min-width: 28px !important;
    max-width: 28px !important;
    padding: 2px 1px !important;
    vertical-align: middle;
  }

  .btn-dorsal {
    font-size: 0.66rem;
    min-width: 22px !important;
    width: 22px !important;
    max-width: 22px !important;
    min-height: 1.45rem;
    height: 1.45rem;
    border-radius: 5px;
    padding: 0 1px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: visible;
    margin: 0 auto;
    font-variant-numeric: tabular-nums;
  }

  .dorsal-fed-mobile {
    display: block;
    margin-top: 2px;
    line-height: 1;
  }

  .dorsal-fed-mobile .bandera-federacion-seleccionada {
    box-shadow: none !important;
    height: 15px !important;
    width: auto;
  }

  .btn-puesto {
    min-width: 39px;
    max-width: 39px;
    border-radius: 5px;
    padding: 0.07rem 0.13rem;
    font-size: 0.95rem;
    line-height: 1.1;
  }

  .btn-puesto-ef {
    width: 100% !important;
    min-height: 27px;
    margin: 0 auto;
  }

  .manga-ef-linea1,
  .manga-ef-linea2 {
    font-size: 0.84rem;
  }
}
