.team-select {
  display: flex;
  min-height: 294px;
  flex-direction: column;
  width: 100%;
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.team-entry {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.team-entry.active .team-select {
  border-color: #ffd21b;
  background: #2b291d;
  box-shadow: 0 0 0 1px #ffd21b33;
}

.team-roster-open {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin-top: 9px;
  padding: 10px 14px;
  border: 1px solid #5b501b;
  border-radius: 10px;
  background: #242213;
  color: #ffe26b;
  font: inherit;
  font-size: 12px;
  font-weight: 850;
  text-align: left;
  cursor: pointer;
}

.team-roster-open:hover,
.team-entry.active .team-roster-open {
  border-color: var(--yellow);
  background: #3a3210;
}

.team-roster-open:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 2px;
}

.team-next-match {
  display: grid;
  gap: 6px;
  margin-top: 10px;
  padding: 11px 13px 12px;
  border: 1px solid #334354;
  border-radius: 11px;
  background: linear-gradient(135deg, #151d26, #11171d);
}

.team-next-match-label {
  margin: 0;
  color: var(--yellow);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.team-next-match-content {
  display: grid;
  gap: 3px;
  min-height: 31px;
  margin: 0;
  color: #edf5ff;
  font-size: 12px;
  line-height: 1.35;
}

.team-next-match-content strong {
  font-size: 12px;
}

.team-next-match-details {
  color: #91b8dd;
  font-size: 10px;
}

.nomination-open {
  justify-self: start;
  margin-top: 3px;
  padding: 7px 10px;
  border: 1px solid #627da0;
  border-radius: 8px;
  background: rgba(24, 75, 126, .28);
  color: #c8e1ff;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.nomination-open:hover {
  border-color: var(--yellow);
  background: rgba(255, 210, 27, .12);
  color: var(--yellow);
}

.team-nomination-status {
  min-height: 13px;
  margin: 0;
  color: #9fb8cf;
  font-size: 10px;
}

#nomination-dialog {
  width: min(92vw, 560px);
  max-height: 90vh;
  overflow-y: auto;
  padding: 0;
  border: 1px solid #6c5d17;
  border-radius: 18px;
  background: #1d2228;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.78);
}

#nomination-dialog::backdrop {
  background: rgba(3,7,12,.84);
  backdrop-filter: blur(4px);
}

#nomination-form {
  display: grid;
  gap: 15px;
  padding: 24px;
}

.nomination-match {
  max-width: 420px;
  margin: 7px 0 0;
  color: #a8c8e9;
  font-size: 12px;
  line-height: 1.45;
}

.nomination-players {
  display: block;
  max-height: 390px;
  overflow-y: auto;
  padding-right: 2px;
}

.nomination-table {
  display: grid;
  gap: 7px;
}

.nomination-table-head,
.nomination-player {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px 100px;
  align-items: center;
  gap: 10px;
}

.nomination-table-head {
  padding: 0 11px 2px;
  color: #91b8dd;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

.nomination-table-head span:first-child {
  text-align: left;
}

.nomination-player {
  padding: 10px 11px;
  border: 1px solid #3d4854;
  border-radius: 10px;
  background: #151b21;
}

.nomination-player:hover {
  border-color: #6c7890;
  background: #202831;
}

.nomination-player-name {
  display: grid;
  gap: 2px;
}

.nomination-player-name small {
  color: #8fa8c2;
  font-size: 11px;
}

.nomination-choice {
  display: grid;
  place-items: center;
  min-height: 32px;
  border-left: 1px solid #303a45;
  cursor: pointer;
}

.nomination-choice input {
  width: 17px;
  height: 17px;
  accent-color: var(--yellow);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 540px) {
  .nomination-table-head,
  .nomination-player {
    grid-template-columns: minmax(0, 1fr) 60px 76px;
    gap: 6px;
  }

  .nomination-table-head {
    font-size: 9px;
  }
}

.team-coach-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: stretch;
  gap: 12px;
  margin-top: 16px;
}

.team-coach-media {
  position: relative;
  min-height: 166px;
  overflow: hidden;
  border: 1px solid #4b5966;
  border-radius: 12px;
  background: radial-gradient(circle at 50% 25%, #1667c7 0, #082d62 50%, #061526 100%);
  box-shadow: inset 0 0 24px #0b65d133, 0 8px 20px #0005;
}

.team-coach-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: 50% 18%;
}

.team-coach-placeholder {
  display: grid;
  place-items: center;
  background: radial-gradient(circle at 50% 28%, #176ed0 0, #0a3877 52%, #061526 100%);
}

.team-coach-placeholder > span {
  color: #ffd21b;
  font-size: 31px;
  font-weight: 950;
  letter-spacing: -.06em;
  text-shadow: 0 3px 12px #0009;
}

.team-club-badge {
  position: absolute;
  right: 10px;
  bottom: 18px;
  width: 23px;
  height: 26px;
  padding: 1px;
  object-fit: cover;
  border-radius: 5px;
  background: transparent;
  clip-path: polygon(15% 1%, 84% 1%, 96% 15%, 89% 29%, 94% 53%, 84% 74%, 50% 100%, 16% 74%, 6% 53%, 11% 29%, 4% 15%);
  filter: drop-shadow(0 2px 3px #000c);
}

.team-select:hover {
  border-color: #756517;
  background: #22272d;
  transform: translateY(-2px);
}

.team-select:focus-visible {
  outline: 3px solid #ffd21b;
  outline-offset: 3px;
}

.team-select.active {
  border-color: #ffd21b;
  background: #2b291d;
  box-shadow: 0 0 0 1px #ffd21b33;
}

.team-select .team-details {
  display: grid;
  gap: 0;
  margin-top: 0;
  overflow: hidden;
  border: 1px solid #343d46;
  border-radius: 11px;
  background: rgba(10, 14, 18, .23);
}

@media (max-width: 1080px) {
  .team-coach-card {
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 9px;
  }

  .team-select .team-detail-row {
    grid-template-columns: 48px minmax(0, 1fr);
    padding-inline: 7px;
  }
}

@media (max-width: 720px) {
  .team-select {
    min-height: 0;
  }

  .team-coach-card {
    grid-template-columns: 96px minmax(0, 1fr);
  }
}

.team-select .team-detail-row {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  column-gap: 8px;
  align-items: center;
  min-height: 36px;
  padding: 7px 11px;
  border-bottom: 1px solid #313941;
  color: #edf3f8;
  font-size: 12px;
}

.team-select .team-detail-row:nth-child(3) {
  grid-template-columns: 26px minmax(0, 1fr);
  column-gap: 7px;
}

.team-select .team-detail-row:nth-child(3) .team-detail-label {
  font-size: 0;
}

.team-select .team-detail-row:nth-child(3) > :last-child {
  color: #91b8ff;
  font-weight: 700;
}

.team-select .team-detail-row:last-child {
  border-bottom: 0;
}

.team-select .team-detail-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: #8fa5b8;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.team-select .team-detail-row > :last-child {
  justify-self: end;
  text-align: right;
  white-space: nowrap;
  font-size: 10.5px;
  letter-spacing: -.025em;
}

.team-select .team-phone-icon {
  display: inline-grid;
  width: 26px;
  height: 26px;
  place-items: center;
  border: 1.5px solid #91b8ff;
  border-radius: 50%;
  background: transparent;
  color: #91b8ff;
  box-shadow: none;
}

.team-select .team-phone-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.team-select .team-player-count {
  background: rgba(255, 210, 27, .055);
}

.team-select .team-player-count strong {
  color: var(--yellow);
}

.team-select.active .team-details,
.team-select:hover .team-details {
  border-color: #6f6018;
}

.team-roster-panel {
  margin-top: 20px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--panel);
}

.team-roster-panel[hidden] {
  display: none;
}

.team-roster-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 8px;
}

.team-roster-header h2 {
  margin: 0;
  font-size: 24px;
}

.team-roster-close {
  width: 38px;
  height: 38px;
  border: 1px solid #48515a;
  border-radius: 10px;
  background: #252b32;
  color: #fff;
  font-size: 22px;
  cursor: pointer;
}

.team-roster-close:hover {
  border-color: #ffd21b;
  color: #ffd21b;
}

@media (max-width: 720px) {
  .team-roster-panel {
    padding: 18px;
  }
}

/* Jednotný vizuálny štýl ikon v kartách a detailoch sekcie O klube. */
#page-club > .grid .card > .icon,
#page-club > .panels .panel > .icon {
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--yellow);
  color: #101316;
  box-shadow: 0 0 0 4px rgba(255, 210, 27, 0.13), 0 6px 18px rgba(0, 0, 0, 0.48);
  font-size: 25px !important;
  font-weight: 900;
}

#page-club > .grid .card:first-child > .icon,
#about > .icon {
  font-size: 0 !important;
  overflow: hidden;
}

#page-club > .grid .card:first-child > .icon::before,
#about > .icon::before {
  content: "i";
  font-family: Georgia, "Times New Roman", serif;
  font-size: 28px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-1px);
}

#leadership .mobile-link {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-weight: 700;
  white-space: nowrap;
}

#leadership .leadership-email {
  display: inline-block;
  margin-top: 5px;
  color: #91b8ff;
  font-size: 12px;
  overflow-wrap: anywhere;
}

#leadership .mobile-icon {
  width: 26px;
  height: 26px;
  flex: 0 0 26px;
  display: inline-grid;
  place-items: center;
  border: 1.5px solid #91b8ff;
  border-radius: 50%;
  background: transparent;
  color: #91b8ff;
  box-shadow: none;
}

#leadership .mobile-icon svg {
  width: 15px;
  height: 15px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Rovnaký kruhový motív ako pri mobile, s jednoduchou obálkou pre kontaktné e-maily. */
a[href^="mailto:"]::before {
  content: "";
  display: inline-block;
  box-sizing: border-box;
  width: 26px;
  height: 26px;
  margin-right: 7px;
  border: 1.5px solid #91b8ff;
  border-radius: 50%;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2391b8ff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='6.5' width='17' height='11' rx='2'/%3E%3Cpath d='m4.5 8 7.5 5.5L19.5 8'/%3E%3C/svg%3E") center / 15px 15px no-repeat;
  vertical-align: middle;
}

a[href^="mailto:"] {
  overflow-wrap: anywhere;
}

a[href^="mailto:"]:hover::before {
  border-color: #c3d8ff;
  box-shadow: 0 0 0 3px rgba(145, 184, 255, 0.12);
}

#team-roster {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

#team-roster .team-player-row {
  min-height: 64px;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

#team-roster .team-player-row span {
  flex: 0 0 auto;
  text-align: right;
}

@media (max-width: 900px) {
  #team-roster {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 620px) {
  #team-roster {
    grid-template-columns: 1fr;
  }
}

.player-card-trigger {
  width: 100%;
  color: var(--text);
  font: inherit;
  text-align: left;
  cursor: pointer;
  appearance: none;
  transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.team-next-match {
  display: grid;
  gap: 6px;
  margin-top: 10px;
  padding: 11px 13px 12px;
  border: 1px solid #334354;
  border-radius: 11px;
  background: linear-gradient(135deg, #151d26, #11171d);
}

.team-next-match-label {
  margin: 0;
  color: var(--yellow);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.team-next-match-content {
  display: grid;
  gap: 3px;
  min-height: 31px;
  margin: 0;
  color: #edf5ff;
  font-size: 12px;
  line-height: 1.35;
}

.team-next-match-details {
  color: #91b8dd;
  font-size: 10px;
}

.nomination-open {
  justify-self: start;
  margin-top: 3px;
  padding: 7px 10px;
  border: 1px solid #637d9e;
  border-radius: 8px;
  background: rgba(24, 75, 126, .28);
  color: #c8e1ff;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.nomination-open:hover {
  border-color: var(--yellow);
  background: rgba(255, 210, 27, .12);
  color: var(--yellow);
}

.team-nomination-status {
  min-height: 13px;
  margin: 0;
  color: #9fb8cf;
  font-size: 10px;
}

#nomination-dialog {
  width: min(92vw, 560px);
  max-height: 90vh;
  overflow-y: auto;
  padding: 0;
  border: 1px solid #6c5d17;
  border-radius: 18px;
  background: #1d2228;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.78);
}

#nomination-dialog::backdrop {
  background: rgba(3,7,12,.84);
  backdrop-filter: blur(4px);
}

#nomination-form {
  display: grid;
  gap: 15px;
  padding: 24px;
}

.nomination-match {
  max-width: 420px;
  margin: 7px 0 0;
  color: #a8c8e9;
  font-size: 12px;
  line-height: 1.45;
}

.nomination-players {
  display: block;
  max-height: 390px;
  overflow-y: auto;
  padding-right: 2px;
}

.nomination-table {
  display: grid;
  gap: 7px;
}

.nomination-table-head,
.nomination-player {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 82px 100px;
  align-items: center;
  gap: 10px;
}

.nomination-table-head {
  padding: 0 11px 2px;
  color: #91b8dd;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  text-align: center;
  text-transform: uppercase;
}

.nomination-table-head span:first-child {
  text-align: left;
}

.nomination-player {
  padding: 10px 11px;
  border: 1px solid #3d4854;
  border-radius: 10px;
  background: #151b21;
}

.nomination-player:hover {
  border-color: #6c7890;
  background: #202831;
}

.nomination-player-name {
  display: grid;
  gap: 2px;
}

.nomination-player-name small {
  color: #8fa8c2;
  font-size: 11px;
}

.nomination-choice {
  display: grid;
  place-items: center;
  min-height: 32px;
  border-left: 1px solid #303a45;
  cursor: pointer;
}

.nomination-choice input {
  width: 17px;
  height: 17px;
  accent-color: var(--yellow);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (max-width: 540px) {
  .nomination-table-head,
  .nomination-player {
    grid-template-columns: minmax(0, 1fr) 60px 76px;
    gap: 6px;
  }

  .nomination-table-head {
    font-size: 9px;
  }
}

.player-card-trigger:hover {
  border-color: var(--yellow);
  background: #222831;
  transform: translateY(-1px);
}

.player-card-trigger:focus-visible {
  outline: 3px solid var(--yellow);
  outline-offset: 2px;
}

#player-card-dialog {
  width: min(92vw, 610px);
  max-height: 92vh;
  padding: 0;
  border: 1px solid #887515;
  border-radius: 22px;
  background: transparent;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .8);
  overflow: auto;
}

#player-card-dialog::backdrop {
  background: rgba(3, 7, 12, .86);
  backdrop-filter: blur(5px);
}

#coach-card-dialog {
  width: min(94vw, 720px);
  max-height: 92vh;
  padding: 0;
  border: 1px solid #887515;
  border-radius: 22px;
  background: transparent;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .8);
  overflow: auto;
}

#coach-card-dialog::backdrop {
  background: rgba(3, 7, 12, .86);
  backdrop-filter: blur(5px);
}

.coach-card-hero {
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  align-items: center;
  gap: 26px;
  padding: 25px 0 22px;
}

.coach-card-photo-shell {
  position: relative;
  width: 224px;
  height: 282px;
  overflow: hidden;
  border: 2px solid #00bfff;
  border-radius: 14px;
  background: #082b56;
  box-shadow: 0 14px 35px rgba(0,0,0,.45);
}

.coach-card-photo {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center 22%;
}

.coach-card-photo-badge {
  position: absolute;
  right: 20%;
  bottom: 8%;
  width: 44px;
  height: 50px;
  object-fit: cover;
  clip-path: polygon(15% 1%, 84% 1%, 96% 15%, 89% 29%, 94% 53%, 84% 74%, 50% 100%, 16% 74%, 6% 53%, 11% 29%, 4% 15%);
  filter: drop-shadow(0 3px 5px #0009);
}

.coach-card-photo-badge[hidden] {
  display: none;
}

.coach-card-overline {
  margin: 0 0 9px;
  color: #8eb8e5;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .15em;
}

.coach-card-identity h2 {
  margin: 0 0 14px;
  font-size: clamp(29px, 5vw, 43px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.coach-card .player-card-section dd a {
  color: #a5caff;
  text-decoration: underline;
  text-underline-offset: 3px;
}

@media (max-width: 560px) {
  .coach-card-hero {
    grid-template-columns: 140px minmax(0, 1fr);
    gap: 15px;
  }

  .coach-card-photo-shell {
    width: 140px;
    height: 180px;
  }

  .coach-card-photo-badge {
    width: 28px;
    height: 32px;
  }

  .coach-card-identity h2 {
    font-size: 27px;
  }

  .coach-card .player-card-section dl div {
    align-items: flex-start;
  }
}

.player-card {
  padding: 28px 30px 24px;
  background: radial-gradient(circle at 82% 18%, rgba(0, 112, 185, .30), transparent 42%), linear-gradient(135deg, #053a62 0%, #041b31 63%, #061522 100%);
}

.player-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

.player-card-head p {
  margin: 0;
  color: var(--yellow);
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .16em;
}

.player-card-head button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 8px 13px;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 999px;
  background: rgba(255,255,255,.07);
  color: #fff;
  font: inherit;
  cursor: pointer;
}

.player-card-head button span {
  font-size: 25px;
  line-height: .75;
}

.player-card-hero {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 22px 0 15px;
}

.player-card-avatar {
  width: 108px;
  height: 126px;
  flex: 0 0 108px;
  display: grid;
  place-items: end center;
  overflow: hidden;
  border: 2px solid #00bfff;
  border-radius: 12px;
  background: radial-gradient(circle at 50% 22%, #126ba0, #03182b 68%);
  box-shadow: inset 0 0 32px rgba(0, 191, 255, .28), 0 8px 24px rgba(0,0,0,.45);
}

.player-card-avatar svg {
  width: 96px;
  height: 116px;
  fill: #142c43;
  stroke: #1694c9;
  stroke-width: 2;
}

.player-card-hero h2 {
  margin: 0 0 8px;
  font-size: clamp(27px, 5vw, 38px);
  line-height: 1.05;
  letter-spacing: -.035em;
}

.player-card-badge {
  display: inline-block;
  padding: 7px 13px;
  border-radius: 999px;
  background: var(--yellow);
  color: #111820;
  font-size: 13px;
  font-weight: 900;
}

.player-card-section {
  margin-top: 2px;
  padding-top: 17px;
  border-top: 1px solid rgba(48, 180, 238, .48);
}

.player-card-section + .player-card-section {
  margin-top: 18px;
}

.player-card-section h3 {
  margin: 0 0 12px;
  color: #27b9ff;
  font-size: 13px;
  letter-spacing: .12em;
}

.player-card-section dl {
  display: grid;
  gap: 10px;
  margin: 0;
}

.player-card-section dl div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.player-card-section dt {
  color: #a9c3df;
}

.player-card-section dd {
  margin: 0;
  color: var(--yellow);
  font-weight: 900;
  text-align: right;
  overflow-wrap: anywhere;
}

#player-card-parent-section dd {
  max-width: 62%;
  color: #fff;
}

.player-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.player-card-actions .player-card-copy {
  margin-top: 0;
}

.player-card-edit {
  padding: 9px 14px;
  border: 1px solid rgba(48, 180, 238, .7);
  border-radius: 999px;
  background: rgba(48, 180, 238, .08);
  color: #8fd6ff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.player-card-edit:hover {
  background: rgba(48, 180, 238, .18);
}

.player-card-copy {
  margin-top: 20px;
  padding: 9px 14px;
  border: 1px solid var(--yellow);
  border-radius: 999px;
  background: rgba(255, 210, 27, .08);
  color: var(--yellow);
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.player-card-copy:hover {
  background: rgba(255, 210, 27, .16);
}

.player-card-club {
  margin: 20px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(48, 180, 238, .34);
  color: #8fb0cc;
  font-size: 12px;
}

@media (max-width: 520px) {
  .player-card {
    padding: 22px 19px 20px;
  }

  .player-card-hero {
    align-items: flex-start;
  }

  .player-card-avatar {
    width: 82px;
    height: 102px;
    flex-basis: 82px;
  }

  .player-card-avatar svg {
    width: 75px;
    height: 93px;
  }

  .player-card-section dl div {
    align-items: flex-start;
  }
}

.admin-toolbar {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin: 24px 0 12px;
}

.admin-toolbar input {
  width: min(100%, 420px);
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #171c21;
  color: #fff;
  padding: 11px 13px;
  font: inherit;
}

.admin-add,
.editor-actions .primary {
  border: 1px solid #dfb900;
  border-radius: 10px;
  background: var(--yellow);
  color: #15191e;
  padding: 10px 15px;
  font: inherit;
  font-weight: 850;
  cursor: pointer;
}

.admin-player-list {
  display: grid;
  gap: 9px;
  margin-top: 16px;
}

.admin-player-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  align-items: center;
  gap: 16px;
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--panel);
}

.admin-player-row.is-hidden {
  opacity: .66;
  border-style: dashed;
}

.admin-player-row strong,
.admin-player-row span {
  display: block;
}

.admin-player-row > div:first-child span {
  color: #aeb8c2;
  font-size: 12px;
}

.admin-state {
  min-width: 70px;
  color: var(--yellow);
  font-size: 12px;
  font-weight: 800;
  text-align: center;
}

.admin-row-actions {
  display: flex;
  gap: 7px;
}

.admin-row-actions button,
.editor-actions .secondary {
  border: 1px solid #48515a;
  border-radius: 8px;
  background: #252b32;
  color: #fff;
  padding: 7px 10px;
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}

.admin-row-actions button:hover {
  border-color: var(--yellow);
}

.admin-row-actions .danger {
  border-color: #7b3338;
  color: #ffadb2;
}

#player-editor-dialog {
  width: min(92vw, 560px);
  padding: 0;
  border: 1px solid #6c5d17;
  border-radius: 18px;
  background: #1d2228;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.78);
}

#player-editor-dialog::backdrop {
  background: rgba(3,7,12,.84);
  backdrop-filter: blur(4px);
}

#player-editor-form {
  display: grid;
  gap: 15px;
  padding: 24px;
}

.editor-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 18px;
}

.editor-head h2 {
  margin: 0;
}

.editor-close {
  width: 38px;
  height: 38px;
  border: 1px solid #4a515a;
  border-radius: 10px;
  background: #282e35;
  color: #fff;
  font-size: 23px;
  cursor: pointer;
}

.editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 13px;
}

.editor-grid label {
  display: grid;
  gap: 6px;
  color: #c9d1d9;
  font-size: 13px;
  font-weight: 700;
}

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

#player-editor-form input:not([type="checkbox"]) {
  width: 100%;
  border: 1px solid #46505a;
  border-radius: 9px;
  background: #14191e;
  color: #fff;
  padding: 10px 12px;
  font: inherit;
}

#player-editor-form fieldset {
  border: 1px solid #3f4851;
  border-radius: 10px;
  padding: 12px;
}

#player-editor-form legend {
  padding: 0 6px;
  color: #c9d1d9;
  font-size: 13px;
  font-weight: 700;
}

.editor-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 9px 15px;
}

.editor-categories label {
  color: #fff;
  font-size: 13px;
}

.editor-error {
  min-height: 20px;
  margin: 0;
  color: #ffadb2;
  font-size: 13px;
}

.editor-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
}

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

  .admin-toolbar input {
    width: 100%;
  }

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

  .admin-row-actions {
    grid-column: 1 / -1;
  }

  .editor-grid {
    grid-template-columns: 1fr;
  }

  .editor-grid .editor-wide {
    grid-column: auto;
  }
}
.brand .crest-shell {
  width: 54px;
  height: 60px;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  padding: 4px;
  overflow: hidden;
  border: 1px solid #2d333a;
  border-radius: 10px;
  background: #050709;
  box-shadow: 0 9px 24px #0008, inset 0 0 0 1px #ffd21b14;
}

.brand .crest-shell .crest {
  width: 46px;
  height: 52px;
  display: block;
  object-fit: cover;
  background: transparent;
  border-radius: 0;
  clip-path: polygon(15% 1%, 84% 1%, 96% 15%, 89% 29%, 94% 53%, 84% 74%, 50% 100%, 16% 74%, 6% 53%, 11% 29%, 4% 15%);
  filter: drop-shadow(0 3px 3px #000b);
}

.sidebar-wordmark {
  position: relative;
  width: 92%;
  min-height: 150px;
  margin: auto auto 20px;
  display: grid;
  place-content: center;
  text-align: center;
  isolation: isolate;
  transform: rotate(-6deg);
}

.sidebar-wordmark::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 28% 4% 15%;
  border-radius: 50%;
  background: radial-gradient(ellipse, #164ab67a 0, #0d2b6850 43%, transparent 72%);
  filter: blur(8px);
  transform: rotate(6deg);
}

.sidebar-wordmark span {
  display: block;
  color: #ffd21b;
  font-family: Impact, "Arial Black", Inter, sans-serif;
  font-size: 78px;
  font-weight: 1000;
  font-style: italic;
  letter-spacing: -.075em;
  line-height: .8;
  transform: skewX(-8deg);
  text-shadow: 3px 3px 0 #154ba9, 7px 7px 0 #030405, 0 0 24px #ffd21b42;
}

.sidebar-wordmark small {
  display: block;
  margin: 15px 0 0 11px;
  color: #f8fbff;
  font-size: 10px;
  font-weight: 900;
  font-style: italic;
  letter-spacing: .34em;
  text-shadow: 0 2px 0 #0d3f99;
}

aside .side-note {
  margin-top: 0;
}

@media (max-width: 720px) {
  .brand .crest-shell {
    width: 42px;
    height: 46px;
    padding: 3px;
    border-radius: 8px;
  }

  .brand .crest-shell .crest {
    width: 36px;
    height: 40px;
  }

  .sidebar-wordmark {
    display: none;
  }
}

.event-sections {
  display: grid;
  gap: 18px;
  margin-top: 24px;
}

.event-panel {
  min-height: 0;
}

.event-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
}

.event-panel-head .icon {
  margin-bottom: 12px;
}

.event-period {
  display: inline-flex;
  align-items: center;
  min-height: 31px;
  padding: 6px 10px;
  border: 1px solid #564a12;
  border-radius: 999px;
  background: #302a0f;
  color: #ffda2e;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap;
}

.match-list {
  display: grid;
  gap: 9px;
  margin-top: 14px;
}

.match-row {
  display: grid;
  grid-template-columns: 128px 76px minmax(0,1fr) 92px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 62px;
  padding: 10px 12px;
  border: 1px solid #39434d;
  border-radius: 12px;
  background: #171c21;
}

.match-row.is-hidden {
  opacity: .58;
  border-style: dashed;
}

.match-date {
  display: grid;
  color: #fff;
  font-weight: 850;
}

.match-date small,
.match-competition,
.match-score small {
  color: #87a8c9;
  font-size: 11px;
  font-weight: 600;
}

.match-category {
  justify-self: start;
  padding: 5px 8px;
  border-radius: 999px;
  background: #3a3106;
  color: #ffdb2a;
  font-size: 11px;
  font-weight: 900;
}

.match-team {
  color: #f7f9fc;
  font-size: 14px;
  font-weight: 780;
}

.match-team.home {
  text-align: right;
}

.match-score {
  display: grid;
  place-items: center;
  min-width: 82px;
  color: #ffd21b;
  font-size: 18px;
  font-weight: 950;
  text-align: center;
}

.match-score.upcoming {
  color: #9bc2f3;
  font-size: 13px;
}

.match-meta {
  display: grid;
  gap: 4px;
  min-width: 150px;
}

.match-nomination-button {
  justify-self: start;
  margin-top: 2px;
  padding: 5px 9px;
  border: 1px solid #637d9e;
  border-radius: 7px;
  background: rgba(24, 75, 126, .25);
  color: #c8e1ff;
  font: inherit;
  font-size: 11px;
  font-weight: 850;
  cursor: pointer;
}

.match-nomination-button:hover {
  border-color: var(--yellow);
  background: rgba(255, 210, 27, .12);
  color: var(--yellow);
}

.match-extras {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.match-extras span {
  width: max-content;
  max-width: 100%;
  border: 1px solid #334b63;
  border-radius: 999px;
  padding: 3px 7px;
  color: #afd0f6;
  font-size: 10px;
  line-height: 1.2;
}

.match-competition {
  line-height: 1.35;
}

.match-source {
  color: #8dbaff;
  font-size: 11px;
}

.match-admin-actions {
  display: flex;
  justify-content: flex-end;
  gap: 5px;
  grid-column: 1 / -1;
  padding-top: 8px;
  border-top: 1px solid #303841;
}

.match-admin-actions button {
  border: 1px solid #46515c;
  border-radius: 7px;
  background: #232a31;
  color: #fff;
  padding: 6px 9px;
  font: inherit;
  font-size: 11px;
  cursor: pointer;
}

.match-admin-actions button:hover {
  border-color: #ffd21b;
}

.match-admin-actions .danger {
  border-color: #74363b;
  color: #ffb0b6;
}

.event-admin-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  padding: 12px;
  border: 1px solid #504611;
  border-radius: 12px;
  background: #25230f;
  color: #cbd4de;
  font-size: 12px;
}

.event-admin-toolbar[hidden] {
  display: none;
}

.schedule-filters {
  margin-top: 16px;
  padding: 14px 16px;
  border: 1px solid #39434d;
  border-radius: 12px;
  background: #171c21;
}

.schedule-filters-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 12px;
}

.schedule-filters-head strong {
  display: block;
  color: #fff;
  font-size: 13px;
}

.schedule-filters-head span {
  display: block;
  margin-top: 3px;
  color: #8da0b2;
  font-size: 11px;
}

.schedule-filter-reset {
  border: 1px solid #46515c;
  border-radius: 7px;
  background: #232a31;
  color: #d7e2ee;
  padding: 7px 10px;
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
  white-space: nowrap;
}

.schedule-filter-reset:hover {
  border-color: var(--yellow);
  color: var(--yellow);
}

.schedule-filter-controls {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 14px;
}

.schedule-filter-controls fieldset {
  min-width: 300px;
  margin: 0;
  padding: 8px 10px 9px;
  border: 1px solid #39434d;
  border-radius: 9px;
}

.schedule-filter-controls legend {
  padding: 0 5px;
  color: #9bc2f3;
  font-size: 11px;
  font-weight: 850;
}

.schedule-category-options {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 12px;
}

.schedule-category-options label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #d7e2ee;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.schedule-category-options input {
  accent-color: var(--yellow);
}

.schedule-filter-controls > label {
  display: grid;
  gap: 5px;
  color: #9bc2f3;
  font-size: 11px;
  font-weight: 850;
}

.schedule-filter-controls > label input {
  min-height: 34px;
  width: 140px;
  border: 1px solid #46515c;
  border-radius: 7px;
  background: #14191e;
  color: #fff;
  padding: 7px 9px;
  font: inherit;
  font-size: 12px;
}

.schedule-filter-controls > label input:invalid {
  border-color: #e78b80;
}

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

.result-add-button {
  padding: 8px 11px;
  white-space: nowrap;
  font-size: 12px;
}

.event-source-note {
  margin-top: 14px;
  color: #8da0b2;
  font-size: 11px;
}

.training-panel {
  max-width: none;
}

#match-editor-dialog {
  width: min(92vw, 620px);
  max-height: 90vh;
  overflow-y: auto;
  padding: 0;
  border: 1px solid #6c5d17;
  border-radius: 18px;
  background: #1d2228;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.78);
}

#match-editor-dialog::backdrop {
  background: rgba(3,7,12,.84);
  backdrop-filter: blur(4px);
}

#match-editor-form {
  display: grid;
  gap: 15px;
  padding: 24px;
}

#match-editor-form input,
#match-editor-form select {
  width: 100%;
  border: 1px solid #46505a;
  border-radius: 9px;
  background: #14191e;
  color: #fff;
  padding: 10px 12px;
  font: inherit;
}

@media (max-width: 900px) {
  .match-row {
    grid-template-columns: 110px 66px minmax(0,1fr) 80px minmax(0,1fr);
  }
  .match-meta {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
  }
}

@media (max-width: 650px) {
  .event-panel-head,
  .event-admin-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .event-head-actions {
    justify-content: flex-start;
  }
  .match-row {
    grid-template-columns: auto 1fr auto;
    gap: 8px;
  }
  .match-date { grid-column: 1 / 3; }
  .match-category { grid-column: 3; grid-row: 1; }
  .match-team.home { grid-column: 1; text-align: left; }
  .match-score { grid-column: 2; }
  .match-team:not(.home) { grid-column: 3; text-align: right; }
  .match-meta { grid-column: 1 / -1; }
  .schedule-filters-head { align-items: flex-start; flex-direction: column; }
  .schedule-filter-controls { align-items: stretch; flex-direction: column; }
  .schedule-filter-controls fieldset { min-width: 0; }
}

[hidden] {
  display: none !important;
}

.admin-inline {
  margin-top: 28px;
  padding: 22px;
  border: 1px solid #4b5560;
  border-radius: 16px;
  background: #1b2026;
}

.admin-inline-head h2 {
  margin: 0 0 6px;
  font-size: 22px;
}

.admin-inline-head p:last-child {
  max-width: 760px;
  margin: 0;
  color: #aeb8c2;
  font-size: 13px;
}

.admin-view-switcher {
  display: flex;
  gap: 8px;
  margin-top: 18px;
  padding-bottom: 14px;
  border-bottom: 1px solid #343d46;
}

.admin-view-switcher button {
  border: 1px solid #48515a;
  border-radius: 9px;
  background: #252b32;
  color: #cbd4dd;
  padding: 9px 14px;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.admin-view-switcher button.active,
.admin-view-switcher button:hover {
  border-color: var(--yellow);
  background: #3d3310;
  color: var(--yellow);
}

#member-editor-dialog {
  width: min(92vw, 560px);
  padding: 0;
  border: 1px solid #6c5d17;
  border-radius: 18px;
  background: #1d2228;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0,0,0,.78);
}

#member-editor-dialog::backdrop {
  background: rgba(3,7,12,.84);
  backdrop-filter: blur(4px);
}

#member-editor-form {
  display: grid;
  gap: 15px;
  padding: 24px;
}

#member-editor-form input {
  width: 100%;
  border: 1px solid #46505a;
  border-radius: 9px;
  background: #14191e;
  color: #fff;
  padding: 10px 12px;
  font: inherit;
}

.sidebar-wordmark {
  width: 100%;
  min-height: 205px;
  margin: auto auto 8px;
  padding: 0;
  display: grid;
  place-items: center;
  transform: none;
}

.sidebar-wordmark::before {
  inset: 18% 0 8%;
  background: radial-gradient(ellipse, rgba(15, 83, 204, .48) 0, rgba(7, 33, 83, .3) 47%, transparent 74%);
  filter: blur(13px);
  transform: none;
  display: none;
}

.sidebar-wordmark-art {
  width: min(244px, 108%);
  height: auto;
  display: block;
  transform: translateX(-2px) rotate(-1deg);
  filter: drop-shadow(0 12px 15px rgba(0, 0, 0, .75));
  transition: transform .25s ease, filter .25s ease;
}

.sidebar-wordmark:hover .sidebar-wordmark-art {
  transform: translateX(-2px) rotate(-2deg) scale(1.045);
  filter: drop-shadow(0 15px 18px rgba(0, 0, 0, .82)) drop-shadow(0 0 10px rgba(255, 210, 27, .18));
}

/* Text na celej stránke možno označiť myšou a kopírovať cez Ctrl+C. */
html,
body,
body * {
  -webkit-user-select: text !important;
  user-select: text !important;
}

.foot {
  justify-content: center !important;
  text-align: center !important;
}

.trainer-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 15px;
  margin-top: 22px;
}

.trainer-card {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 150px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--panel);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.trainer-card:hover {
  border-color: #756517;
  background: #22272d;
  transform: translateY(-2px);
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.trainer-avatar {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  border: 1px solid #6f6018;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 25%, #4b400d, #272314);
  color: var(--yellow);
  font-size: 19px;
  font-weight: 950;
  letter-spacing: -0.04em;
}

.trainer-card h2 {
  margin: 0 0 6px;
  font-size: 18px;
}

.trainer-role {
  margin: 0 0 5px;
  color: var(--yellow);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.1em;
}

.trainer-placeholder {
  margin: 0;
  color: #aeb8c2;
  font-size: 12px;
}

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

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

  .trainer-card {
    grid-template-columns: 62px minmax(0, 1fr);
  }

  .trainer-avatar {
    width: 62px;
    height: 62px;
    font-size: 16px;
  }
}

input,
textarea {
  -webkit-user-select: auto !important;
  user-select: auto !important;
}



.squad-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}.squad-card{display:flex;min-height:196px;flex-direction:column;align-items:stretch;gap:10px;padding:22px;background:var(--panel);border:1px solid var(--line);border-radius:15px;color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.squad-card:hover,.squad-card:focus-visible{border-color:var(--yellow);background:#252a2f;box-shadow:0 0 0 1px #ffd21b44;transform:translateY(-2px)}.squad-card:focus-visible{outline:3px solid #ffd21b66;outline-offset:2px}.squad-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.squad-card-top strong{font-size:23px;line-height:1.1}.squad-card-description{color:#c1c9d1;font-size:13px}.squad-card-meta{color:#9eabb6;font-size:12px;margin-top:auto}.squad-card-action{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px solid #39414a;color:#ffe26b;font-size:12px;font-weight:850}.squad-card-action span{font-size:18px}@media(max-width:1080px){.squad-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.squad-cards{grid-template-columns:1fr}}


.sponsors-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;margin-top:22px}.sponsor-card{display:grid;grid-template-rows:168px 134px;height:302px;padding:0;overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:15px;color:var(--text);text-decoration:none;transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease}.sponsor-card:hover,.sponsor-card:focus-visible{border-color:var(--yellow);background:#252a2f;box-shadow:0 0 0 1px #ffd21b44;transform:translateY(-3px)}.sponsor-card:focus-visible{outline:3px solid #ffd21b66;outline-offset:2px}.sponsor-logo-shell{display:grid;place-items:center;min-width:0;padding:22px;background:#fff;border-bottom:1px solid #39414a;box-sizing:border-box}.sponsor-logo-shell img{display:block;width:auto;height:auto;max-width:78%;max-height:96px;object-fit:contain}.sponsor-card-body{display:flex;min-width:0;min-height:0;flex-direction:column;padding:20px 21px;box-sizing:border-box}.sponsor-card-body h2{margin:0 0 7px;font-size:20px;line-height:1.2;font-weight:900}.sponsor-card-body p{margin:0;color:#b8c1ca;font-size:13px}.sponsor-card-body span{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;padding-top:17px;color:var(--yellow);font-size:12px;font-weight:850}.sponsor-card-body b{font-size:18px;line-height:1}.sponsor-card-systemair .sponsor-logo-shell{background:#fff}.sponsor-card-solauric .sponsor-logo-shell{background:#fff}.sponsor-more{display:flex;align-items:center;gap:9px;margin-top:18px;padding:15px 17px;border:1px dashed #4c5560;border-radius:12px;color:#aeb8c2;font-size:13px}.sponsor-more span{color:var(--yellow);font-size:17px}@media(max-width:1080px){.sponsors-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.sponsors-grid{grid-template-columns:1fr}.sponsor-card{height:302px}}

/* Zväčšený blok značky v ľavom paneli. */
.brand { gap: 13px; }
.brand .crest-shell { width: 61px; height: 68px; }
.brand .crest-shell .crest { width: 52px; height: 58px; }
.brandname { font-size: 17px; white-space: nowrap; }
.brandtag { font-size: 11px; }
@media (max-width: 720px) {
  .brand .crest-shell { width: 46px; height: 51px; }
  .brand .crest-shell .crest { width: 39px; height: 44px; }
  .brandname { font-size: 14px; }
}

.contact-bank {
  margin: 14px 0 16px;
  padding: 11px 12px;
  border: 1px solid #303943;
  border-radius: 10px;
  background: rgba(13, 17, 21, .32);
}

.contact-bank-label {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: #d7dee7;
  font-size: 12px;
}

.contact-bank-label span {
  color: #8798aa;
  font-size: 10px;
  text-align: right;
}

.contact-bank-list {
  display: grid;
  gap: 5px;
}

.contact-bank-list > div {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  align-items: baseline;
  gap: 9px;
}

.contact-bank-list strong {
  color: #aebdcb;
  font-size: 11px;
}

.contact-bank-list code {
  color: #d9e6f7;
  font: 600 11px ui-monospace, Consolas, monospace;
  letter-spacing: .01em;
  overflow-wrap: anywhere;
}

@media (max-width: 620px) {
  .contact-bank-label {
    align-items: flex-start;
    flex-direction: column;
    gap: 2px;
  }

  .contact-bank-label span {
    text-align: left;
  }

  .contact-bank-list > div {
    grid-template-columns: 1fr;
    gap: 0;
  }
}

.standalone-event-panel {
  margin-top: 24px;
}

.training-admin-toolbar {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  padding: 12px;
  border: 1px solid #504611;
  border-radius: 12px;
  background: #25230f;
  color: #cbd4de;
  font-size: 12px;
}

.training-admin-toolbar[hidden] {
  display: none;
}

.training-sections {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 18px;
  margin-top: 24px;
}

.training-schedule-panel,
.training-attendance-panel {
  min-width: 0;
}

.training-schedule-grid {
  display: grid;
  gap: 9px;
  margin-top: 18px;
}


.training-weekly-wrap{overflow-x:auto;margin-top:18px;border:1px solid #39434d;border-radius:14px;background:#10151a}
.training-weekly-table{width:100%;min-width:980px;border-collapse:separate;border-spacing:0;table-layout:fixed}
.training-weekly-table th,.training-weekly-table td{padding:12px 10px;border-right:1px solid #343d46;border-bottom:1px solid #343d46;text-align:center;vertical-align:middle;font-size:11px;line-height:1.35}
.training-weekly-table thead th{background:#252b32;color:#ffd21b;font-size:10px;letter-spacing:.07em;text-transform:uppercase}
.training-weekly-table thead th:first-child{width:166px;text-align:left}
.training-weekly-table thead th:not(:first-child){width:auto}
.training-weekly-table tbody th{width:166px;padding:13px 12px;text-align:left;background:#151b21;color:#fff}
.training-weekly-table tbody th strong{display:block;font-size:14px;letter-spacing:.02em}
.training-weekly-table tbody th span{display:block;margin-top:4px;color:#aab6c2;font-size:10px;font-weight:500}
.training-weekly-table td{color:#f7f9fb;font-weight:600}
.training-weekly-table td small{display:block;margin-top:3px;color:#d8e0e8;font-size:10px;font-weight:500}
.training-weekly-table td.is-free{background:#11161b;color:#929da7;font-weight:600}
.training-weekly-table .training-weekly-duration{background:#171d23;color:#ffd21b;font-size:11px;font-weight:700}
.training-weekly-row.cyan td:not(.is-free){background:#1bcbc0;color:#071315}
.training-weekly-row.cyan td small{color:#12393a}
.training-weekly-row.yellow td:not(.is-free){background:#ffbc08;color:#17120a}
.training-weekly-row.yellow td small{color:#4b3400}
.training-weekly-row.green td:not(.is-free){background:#80dc88;color:#0b2612}
.training-weekly-row.green td small{color:#1a4f27}
.training-weekly-row.blue td:not(.is-free){background:#8bd1ee;color:#082431}
.training-weekly-row.blue td small{color:#21556b}
.training-weekly-row.purple td:not(.is-free){background:#d78bd2;color:#321533}
.training-weekly-row.purple td small{color:#5b2a59}
.training-weekly-row.men td:not(.is-free){background:#0ab653;color:#041d10}
.training-weekly-row.men td small{color:#145f36}
.training-weekly-row.keepers td:not(.is-free){background:#c7c7c7;color:#182027}
.training-weekly-row.keepers td small{color:#3d464d}
.training-weekly-table tr:last-child th,.training-weekly-table tr:last-child td{border-bottom:0}
.training-weekly-table th:last-child,.training-weekly-table td:last-child{border-right:0}
.training-admin-sessions{margin-top:18px}
.training-admin-sessions h3{margin:0 0 10px;color:#ffd21b;font-size:11px;letter-spacing:.08em;text-transform:uppercase}

.training-category-row {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 13px 14px;
  border: 1px solid #39434d;
  border-radius: 12px;
  background: #171c21;
}

.training-category-name {
  display: grid;
  gap: 2px;
}

.training-category-name strong {
  color: #fff;
  font-size: 16px;
}

.training-category-name span,
.training-schedule-session span,
.training-empty-row,
.training-schedule-session small {
  color: #9eabb6;
  font-size: 11px;
}

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

.training-schedule-session {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
  padding-bottom: 6px;
  border-bottom: 1px solid #2d353e;
}

.training-schedule-session:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}

.training-schedule-session div {
  display: grid;
  gap: 2px;
}

.training-schedule-session strong {
  color: #f4f7fa;
  font-size: 12px;
}

.training-schedule-session small {
  text-align: right;
}

.training-empty-row {
  margin: 0;
}

.training-session-field {
  display: grid;
  gap: 7px;
  margin-top: 18px;
  color: #aeb8c2;
  font-size: 12px;
}

.training-session-field select {
  width: 100%;
  border: 1px solid #46505a;
  border-radius: 9px;
  background: #14191e;
  color: #fff;
  padding: 10px 12px;
  font: inherit;
}

.training-attendance-list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}

.training-attendance-row {
  display: grid;
  gap: 9px;
  padding: 11px 12px;
  border: 1px solid #39434d;
  border-radius: 10px;
  background: #171c21;
}

.training-attendance-row > div:first-child {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.training-attendance-row strong {
  color: #fff;
  font-size: 12px;
}

.training-attendance-row small {
  color: #8fa0af;
  font-size: 11px;
}

.training-stats-panel {
  margin-top: 18px;
}

.training-stats-table {
  overflow-x: auto;
  margin-top: 16px;
}

.training-stats-table table {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
}

.training-stats-table th,
.training-stats-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #303942;
  text-align: left;
  font-size: 12px;
}

.training-stats-table th {
  color: #ffd21b;
  font-size: 10px;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.training-stats-table td {
  color: #d6dfe8;
}

.training-stats-table td:not(:first-child),
.training-stats-table th:not(:first-child) {
  text-align: right;
}

.training-stats-empty {
  margin: 0;
  color: #9eabb6;
  font-size: 12px;
}

.attendance-actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.attendance-actions button {
  border: 1px solid #46515c;
  border-radius: 7px;
  background: #232a31;
  color: #cbd5df;
  padding: 7px 5px;
  font: inherit;
  font-size: 10px;
  cursor: pointer;
}

.attendance-actions button:hover,
.attendance-actions button.active {
  border-color: #ffd21b;
  background: #3d3310;
  color: #ffd21b;
}

#training-editor-dialog {
  width: min(92vw, 620px);
  max-height: 90vh;
  overflow-y: auto;
  padding: 0;
  border: 1px solid #6c5d17;
  border-radius: 18px;
  background: #1d2228;
  color: #fff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, .78);
}

#training-editor-dialog::backdrop {
  background: rgba(3, 7, 12, .84);
  backdrop-filter: blur(4px);
}

#training-editor-form {
  display: grid;
  gap: 15px;
  padding: 24px;
}

#training-editor-form input,
#training-editor-form select {
  width: 100%;
  border: 1px solid #46505a;
  border-radius: 9px;
  background: #14191e;
  color: #fff;
  padding: 10px 12px;
  font: inherit;
}

@media (max-width: 900px) {
  .training-sections {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {
  .training-admin-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .training-category-row {
    grid-template-columns: 1fr;
    gap: 8px;
  }

  .training-schedule-session {
    display: grid;
    gap: 2px;
  }

  .training-schedule-session small {
    text-align: left;
  }
}

/* Mobil pri tréneroch má rovnaký kruhový rozmer a obrys ako vo vedení klubu. */
.team-select .team-phone-icon{width:26px;height:26px;min-width:26px;max-width:26px;aspect-ratio:1;flex:0 0 26px;display:inline-grid;place-items:center;border:1.5px solid #91b8ff;border-radius:50%;background:transparent;color:#91b8ff;box-shadow:none;box-sizing:border-box}

/* Zvýraznené typy trénerov v kartách. */
.team .count{font-weight:800}

/* Karty sponzorov majú jednotné proporcie loga aj textovej časti. */
.sponsor-card-kukla .sponsor-logo-shell {
  padding: 22px;
}

.sponsor-card-kukla .sponsor-logo-shell img {
  max-width: 78%;
  max-height: 96px;
  transform: scale(1.65);
}

.sponsor-card-kukla .sponsor-card-body h2 {
  font-size: 20px;
  font-weight: 900;
}

/* Označenie kategórie na kartách tímov. */
.squad-card-top .count {
  color: var(--yellow);
  font-weight: 950;
}

.squad-card-description {
  color: #d7e2ee;
  font-size: 13px;
  font-weight: 800;
}

.portal-child-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.portal-child-card{display:grid;gap:5px;padding:16px;border:1px solid #3b4651;border-radius:13px;background:#171e25;color:#fff;font:inherit;text-align:left;cursor:pointer}.portal-child-card:hover,.portal-child-card:focus-visible{border-color:#ffd21b;background:#202832}.portal-child-card strong{font-size:17px}.portal-child-card span{color:#59b5ff;font-weight:850}.portal-child-card small{color:#aebdca}

/* Program zápasov: kompaktný riadok s akciami pod ponukou „…“. */
.match-row {
  display: grid;
  grid-template-columns: 150px 64px minmax(250px, 1.4fr) minmax(220px, .95fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 64px;
  padding: 11px 14px;
}

.match-date {
  min-width: 0;
  display: grid;
  white-space: normal;
}

.match-date small {
  margin-top: 3px;
  color: #87a8c9;
  font-size: 11px;
  font-weight: 600;
}

.match-category {
  padding: 5px 8px;
  border-radius: 999px;
  background: #3a3106;
  color: #ffdb2a;
  font-size: 11px;
  font-weight: 900;
  white-space: nowrap;
}

.match-fixture {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #f7f9fc;
}

.match-fixture.match-result {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}

.match-fixture.match-result strong:first-child {
  text-align: right;
}

.match-fixture.match-result strong:last-child {
  text-align: left;
}

.match-fixture.match-result .match-vs {
  display: grid;
  min-width: 72px;
  place-items: center;
}

.match-location-empty {
  min-height: 1px;
}

.match-fixture strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-vs {
  flex: 0 0 auto;
  color: #8fa8c2;
  font-size: 11px;
  font-weight: 850;
  text-transform: lowercase;
}

.match-score-value {
  color: #8fc5ff;
  font-size: 16px;
  white-space: nowrap;
}

.match-location {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
}

.match-venue {
  overflow: hidden;
  color: #d7e2ee;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.match-venue.muted {
  color: #7e8d9c;
}

.match-kickoff {
  flex: 0 0 auto;
  margin-left: auto;
  color: #9bc2f3;
  text-align: right;
  white-space: nowrap;
}

.match-row-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  min-width: max-content;
}

.match-more {
  position: relative;
}

.match-more summary {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid #46515c;
  border-radius: 8px;
  color: #d8e2ed;
  cursor: pointer;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  list-style: none;
}

.match-more summary::-webkit-details-marker {
  display: none;
}

.match-more summary:hover,
.match-more[open] summary {
  border-color: var(--yellow);
  color: var(--yellow);
}

.match-more-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% + 6px);
  right: 0;
  display: grid;
  min-width: 126px;
  gap: 4px;
  padding: 6px;
  border: 1px solid #4a5662;
  border-radius: 9px;
  background: #20272e;
  box-shadow: 0 12px 28px #0008;
}

.match-more-menu button {
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: #eef4fa;
  padding: 7px 8px;
  font: inherit;
  font-size: 11px;
  text-align: left;
  cursor: pointer;
}

.match-more-menu button:hover {
  background: #303b46;
  color: var(--yellow);
}

.match-more-menu .danger {
  color: #ffb0b6;
}

@media (max-width: 1100px) {
  .match-row {
    grid-template-columns: 132px 60px minmax(220px, 1.2fr) minmax(200px, .8fr) auto;
    gap: 10px;
  }
}

@media (max-width: 760px) {
  .match-row {
    grid-template-columns: 112px 58px minmax(0, 1fr) auto;
    gap: 8px;
  }

  .match-location {
    grid-column: 3 / -1;
  }

  .match-fixture {
    grid-column: 1 / 4;
    grid-row: 2;
  }

  .match-date,
  .match-category {
    grid-row: 1;
  }

  .match-row-actions {
    grid-row: 1;
  }
}

@media (max-width: 520px) {
  .match-row {
    grid-template-columns: 1fr auto;
    align-items: start;
  }

  .match-date {
    grid-column: 1;
  }

  .match-category {
    grid-column: 1;
    grid-row: 2;
    justify-self: start;
  }

  .match-fixture {
    grid-column: 1 / -1;
    grid-row: 3;
    flex-wrap: wrap;
  }

  .match-location {
    grid-column: 1 / -1;
    grid-row: 4;
  }

  .match-row-actions {
    grid-column: 2;
    grid-row: 1 / span 2;
  }
}


/* Nominácia: testovacie odoslanie a spätná väzba rodiča. */
.nomination-table-head,
.nomination-player {
  grid-template-columns: minmax(0, 1fr) 82px 100px 120px;
}

.nomination-response-state {
  color: #9eabb6;
  font-size: 11px;
  font-weight: 800;
  text-align: right;
}

.nomination-response-yes { color: #8fc5ff; }
.nomination-response-no { color: #ff9da8; }

@media (max-width: 620px) {
  .nomination-table-head,
  .nomination-player {
    grid-template-columns: minmax(0, 1fr) 52px 72px 92px;
    gap: 5px;
  }

  .nomination-response-state {
    font-size: 10px;
  }
}


/* Program zápasov: kategória modrou a čas pri mieste konania. */
.match-category { background: transparent; color: #8fc5ff; padding: 0; border-radius: 0; font-size: 13px; font-weight: 900; }
.match-category.match-category-tournament { color: #ffdb2a; }
.match-category.match-category-zhl { color: #8fc5ff; }
.match-category.match-category-mz { color: #258dff; }
.match-category.match-category-pz { color: #8ee6ae; }
.match-location .match-source { display: none !important; }


/* Jednoriadkový prehľad zápasu: miesto a výkop zostávajú vedľa seba. */
.match-location { display: flex; align-items: center; gap: 8px; min-width: 0; white-space: nowrap; }
.match-kickoff { color: #8fc5ff; font-size: 12px; font-weight: 800; white-space: nowrap; }
@media (max-width: 760px) { .match-location { flex-wrap: wrap; white-space: normal; } }


/* Compact monochrome training board */
.training-weekly-wrap{margin-top:14px;background:#000;border-color:#30343a;overflow:hidden}
.training-weekly-table{width:100%;min-width:0;table-layout:fixed;background:#000}
.training-weekly-table th,.training-weekly-table td{padding:8px 6px;background:#000;border-color:#30343a;color:#fff;font-size:10px;line-height:1.25;overflow-wrap:anywhere}
.training-weekly-table thead th{background:#000;color:#ffd21b;font-size:9px;padding:7px 4px}
.training-weekly-table thead th:first-child{width:125px;text-align:left}
.training-weekly-table tbody th{width:125px;background:#000;color:#4ea6ff;padding:9px 8px}
.training-weekly-table tbody th strong{font-size:14px;color:#4ea6ff}
.training-weekly-table tbody th span{margin-top:3px;color:#ffd21b;font-size:10px;font-weight:700}
.training-weekly-table td{font-weight:600}
.training-weekly-table td.is-free{background:#000;color:#fff}
.training-weekly-row.cyan td:not(.is-free),.training-weekly-row.yellow td:not(.is-free),.training-weekly-row.green td:not(.is-free),.training-weekly-row.blue td:not(.is-free),.training-weekly-row.purple td:not(.is-free),.training-weekly-row.men td:not(.is-free),.training-weekly-row.keepers td:not(.is-free){background:#000;color:#fff}
.training-weekly-table td small{color:#ffd21b;font-size:9px}
.training-weekly-table td b{color:#fff}
.training-weekly-table tr:last-child th,.training-weekly-table tr:last-child td{border-bottom:0}
.training-weekly-table th:last-child,.training-weekly-table td:last-child{border-right:0}

/* Training attendance below the schedule */
.training-sections{display:flex;flex-direction:column;gap:18px}
.training-schedule-panel,.training-attendance-panel{width:100%;min-width:0}

/* Bold time-first training schedule */
.training-weekly-wrap{border:1px solid #2f7fd1;background:#000;box-shadow:0 0 0 1px rgba(255,210,27,.22),0 16px 36px rgba(0,0,0,.36)}
.training-weekly-table{background:#000}
.training-weekly-table th,.training-weekly-table td{padding:12px 9px;border-color:#263b50}
.training-weekly-table thead th{background:#000;color:#ffd21b;font-size:11px;letter-spacing:.11em;text-shadow:0 1px 0 #4b3900;border-bottom:2px solid #ffd21b}
.training-weekly-table thead th:first-child{width:170px}
.training-weekly-table tbody th{width:170px;background:#000;color:#4ea6ff;border-right:2px solid #123b65}
.training-weekly-table tbody th strong{font-size:18px;line-height:1.05;color:#4ea6ff;text-shadow:1px 1px 0 #062c55}
.training-weekly-table tbody th span{margin-top:6px;color:#ffd21b;font-size:12px;line-height:1.15;text-shadow:0 1px 0 #4b3900}
.training-weekly-table td{font-size:clamp(16px,1.45vw,21px);font-weight:900;letter-spacing:.01em;line-height:1.1;text-shadow:0 1px 0 #0d1116}
.training-weekly-table td{white-space:nowrap}
.training-weekly-table td.is-free{font-size:12px;font-weight:700;color:#8b98a5;text-shadow:none}
.training-weekly-row:hover td:not(.is-free){color:#fff}
@media(max-width:720px){
  .training-weekly-table th,.training-weekly-table td{padding:10px 5px}
  .training-weekly-table thead th:first-child,.training-weekly-table tbody th{width:112px}
  .training-weekly-table tbody th strong{font-size:14px}
  .training-weekly-table tbody th span{font-size:10px}
  .training-weekly-table td{font-size:13px}
}
#page-teams .team-roster-open {
  display: none;
}

/* Nominácia uložená v databáze: doručenie e-mailu a odpoveď sú oddelené. */
#nomination-dialog{width:min(96vw,920px)}

/* Osobna zona rodica a pracovny prehlad trenerov */
.portal-content{display:grid;gap:22px;margin-top:28px}.portal-section,.portal-children{padding:22px;border:1px solid #39434d;border-radius:16px;background:#1b2127}.portal-section h2,.portal-children h2{margin:0 0 15px}.portal-section-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.portal-section-head h2,.portal-section-head p{margin:0}.portal-section-head p{color:#9eabb8;font-size:12px}.portal-section-head button,.portal-match button,.guardian-card button{min-height:42px;border:1px solid #567596;border-radius:10px;background:#14283a;color:#d9edff;padding:9px 13px;font-weight:800;cursor:pointer}.portal-child-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.portal-child-card{display:flex;flex-direction:column;gap:3px;padding:14px;border:1px solid #3c4650;border-radius:12px;background:#14191e}.portal-child-card strong{font-size:16px}.portal-child-card span{color:#60b9ff;font-size:12px;font-weight:800}.portal-task-list,.portal-match-list{display:grid;gap:10px}.portal-task{padding:17px;border:1px solid #3a4550;border-radius:13px;background:#14191e}.portal-task-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.portal-task h3{margin:3px 0;font-size:17px}.portal-task p,.portal-task small{margin:0;color:#9eabb8;font-size:12px}.portal-child{color:#60b9ff;font-size:12px;font-weight:900}.portal-state{white-space:nowrap;padding:6px 9px;border-radius:999px;font-size:11px;font-weight:900}.state-pending{color:#c6ced6;background:#313942}.state-yes{color:#75e29b;background:#123c25}.state-no{color:#ff8e8e;background:#441d22}.state-maybe{color:#ffe073;background:#453b13}.portal-response{display:flex;flex-wrap:wrap;gap:9px;margin:14px 0 8px}.portal-response button{min-height:44px;border:1px solid #46515c;border-radius:10px;background:#222a31;color:#fff;padding:9px 14px;font-weight:850;cursor:pointer}.portal-response button[data-answer="yes"]{border-color:#318352}.portal-response button[data-answer="no"]{border-color:#9b4148}.portal-match{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:16px;align-items:center;padding:14px;border:1px solid #3a4550;border-radius:12px;background:#14191e}.portal-match>div:first-child{display:flex;flex-direction:column}.portal-match span{color:#8fb4d6;font-size:11px}.portal-counts{display:flex;gap:6px}.portal-counts b{min-width:42px;padding:6px 8px;border-radius:8px;text-align:center;font-size:12px}.guardian-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.guardian-card{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:15px;border:1px solid #3a4550;border-radius:12px;background:#14191e}.guardian-card>a{font-size:12px}.guardian-card>span{color:#aeb9c5;font-size:12px}.guardian-card button{margin-top:auto}.portal-badge{min-width:20px;height:20px;display:inline-grid;place-items:center;margin-left:auto;padding:0 5px;border-radius:999px;background:#d72d3b;color:#fff;font-size:10px}.portal-empty,.portal-loading{padding:25px;border:1px dashed #485460;border-radius:12px;color:#aeb9c5;text-align:center}
@media(max-width:760px){body{padding-bottom:74px}.app{display:block}aside{position:static;height:auto;padding:10px 12px}.brand{padding:0 0 8px}.nav{position:fixed;z-index:50;left:0;right:0;bottom:0;display:flex;gap:2px;overflow-x:auto;margin:0;padding:7px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid #35404b;background:#0c1116f5;box-shadow:0 -10px 30px #0008;scrollbar-width:none}.nav button{min-width:72px;min-height:52px;flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px 8px;text-align:center;font-size:10px}.nav button .ico{height:18px}.nav button .portal-badge{position:absolute;transform:translate(20px,-16px)}.content{padding:24px 13px 40px}.portal-content{margin-top:20px}.portal-section,.portal-children{padding:15px}.portal-child-grid,.guardian-grid{grid-template-columns:1fr}.portal-task-head,.portal-section-head{align-items:flex-start;flex-direction:column}.portal-state{white-space:normal}.portal-response{display:grid;grid-template-columns:1fr 1fr}.portal-response button{padding:10px 8px}.portal-response button:nth-child(3){grid-column:1/-1}.portal-match{grid-template-columns:1fr}.portal-match button{width:100%}.portal-counts{justify-content:flex-start}dialog{max-width:none!important;width:100vw!important;height:100dvh!important;max-height:none!important;margin:0!important;border-radius:0!important}.match-row{min-width:0}.match-list{overflow:visible}.training-weekly-wrap{overflow-x:auto}.training-weekly-table{min-width:850px}}
.nomination-summary{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 0 12px;padding:11px 13px;border:1px solid #3d4854;border-radius:11px;background:#10161c;font-size:12px}
.nomination-summary strong{margin-right:auto;color:#fff}
.nomination-summary span{padding:5px 8px;border-radius:999px;background:#26313b;color:#bdc8d2;font-weight:850}
.nomination-summary .nomination-summary-pending{color:#c7cdd3}
.nomination-summary .nomination-summary-yes{color:#8ee6ae}
.nomination-summary .nomination-summary-no{color:#ff8d99}
.nomination-table-head,.nomination-player{grid-template-columns:minmax(180px,1fr) 90px 150px minmax(170px,210px)}
.nomination-test-banner{margin:0 0 14px;padding:10px 12px;border:1px solid #8a7200;border-radius:10px;background:#332b00;color:#ffe35a;font-weight:800}
.nomination-target{display:flex;align-items:end;gap:14px;flex-wrap:wrap;margin:0 0 14px}
.nomination-target label{display:grid;gap:6px;font-weight:800}
.nomination-target input{width:110px}
.nomination-counter{padding-bottom:10px;color:#9fc8e8;font-weight:800}
.nomination-rounds{margin:10px 0;color:#b9c7d3;font-size:.9rem}
.nomination-warning{margin:10px 0;padding:9px 11px;border-radius:9px;background:#3a2a0a;color:#ffd75a}
.nomination-email-state{color:#9fb8cf;font-size:10px;font-weight:800;text-align:right}
.nomination-response-state{display:grid;gap:3px;text-align:right}
.nomination-response-state strong{font-size:11px}
.nomination-response-state small{color:#8393a2;font-size:9px;font-weight:650}
.nomination-response-pending{color:#b3bbc3}
.nomination-response-yes{color:#78dc98}
.nomination-response-no{color:#ff7f8d}
.nomination-response-unselected{color:#66737f;font-weight:650}
@media(max-width:760px){
  .nomination-players{overflow-x:auto}
  .nomination-table{min-width:760px}
  .nomination-table-head,.nomination-player{grid-template-columns:minmax(170px,1fr) 82px 140px 165px}
}

/* Compact nomination editor v203 */
#nomination-dialog{width:min(96vw,860px);max-height:94dvh}
#nomination-form{padding-bottom:0}
.nomination-target{display:flex;align-items:center;gap:10px;margin:0 0 10px;color:#73bfff;font-weight:900}
.nomination-target select{width:76px;min-height:38px;padding:6px 30px 6px 12px;border:1px solid #2f9fe7;border-radius:9px;background:#111a22;color:#73bfff;font-weight:900}
.nomination-players{max-height:none;overflow:visible;padding:0;margin:0}
.nomination-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;border:0;background:transparent}
.nomination-player{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:57px;padding:8px 10px;border:1px solid #344451;border-radius:10px;background:#151d24}
.nomination-player:hover{background:#19242d}
.nomination-player-select{display:flex;align-items:center;gap:9px;min-width:0}
.nomination-player-select>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#f4f7fa;font-size:13px}
.nomination-toggle{flex:0 0 auto;min-height:29px;padding:4px 9px;border:1px solid #28a9f7;border-radius:7px;background:transparent;color:#63c5ff;font-size:10px;font-weight:900;cursor:pointer;transition:transform .12s ease,background .16s ease,border-color .16s ease,color .16s ease}
.nomination-toggle:active{transform:translateY(1px) scale(.98)}
.nomination-toggle.is-selected{border-color:#24b765;background:#168b4b;color:#fff}
.nomination-toggle:disabled{cursor:default;opacity:.88}
.nomination-response-state{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:124px;text-align:right}
.nomination-response-state>span:last-child{display:grid;gap:1px}
.nomination-response-state strong{font-size:10px;line-height:1.15}
.nomination-response-state small{font-size:8px;line-height:1.15;white-space:nowrap}
.nomination-response-icon{display:inline-grid;place-items:center;width:20px;height:20px;font-size:16px;line-height:1}
.nomination-response-unselected{min-width:20px;color:#66737f}
.nomination-summary{margin-bottom:8px;padding:8px 10px;gap:6px}
.nomination-summary span{padding:4px 7px}
.nomination-rounds,.nomination-window-warning{margin:7px 0}
.nomination-actions{position:static;margin:10px -1px 0;padding:10px 0 0;background:transparent;gap:8px}
.nomination-actions .nomination-action{min-height:40px;padding:8px 13px;border:2px solid #ffd300;border-radius:9px;background:#ffd300;color:#111;font-weight:950;box-shadow:none}
.nomination-actions .nomination-action:hover{background:#ffe04a;border-color:#ffe04a}
.nomination-actions .nomination-action:active{transform:translateY(1px) scale(.99)}
#nomination-status:empty{display:none}
#nomination-status{margin:8px 0 0}

@media(max-width:700px){
  #nomination-dialog{width:calc(100vw - 12px);max-height:96dvh}
  #nomination-form{padding:14px 12px 0}
  .nomination-match{margin-bottom:9px}
  .nomination-target{justify-content:space-between;margin-bottom:8px;font-size:12px}
  .nomination-target select{min-height:34px}
  .nomination-table{grid-template-columns:1fr;gap:6px;min-width:0}
  .nomination-player{min-height:53px;padding:7px 8px}
  .nomination-player-select{gap:7px}
  .nomination-player-select>strong{font-size:12px}
  .nomination-toggle{padding:4px 7px;font-size:9px}
  .nomination-response-state{min-width:104px;gap:4px}
  .nomination-response-state strong{font-size:9px}
  .nomination-response-state small{font-size:7px}
  .nomination-response-icon{width:18px;height:18px;font-size:15px}
  .nomination-summary{font-size:10px}
  .nomination-summary strong{width:100%;margin:0}
  .nomination-actions{display:grid;grid-template-columns:1fr;margin-top:8px;padding-bottom:10px}
  .nomination-actions .nomination-action{width:100%;min-height:38px}
}

/* Textové EU dátumy a časy s rýchlym systémovým výberom. */
.native-picker-shell{position:relative;display:block;width:100%}
.native-picker-shell>input:not(.native-picker-control){width:100%;padding-right:39px!important}
.native-picker-button{position:absolute;right:4px;top:50%;transform:translateY(-50%);z-index:2;width:28px;height:28px;padding:0;border:1px solid #4d6275;border-radius:7px;background:#14202a;color:#ffd719;font-size:14px;line-height:1;cursor:pointer}
.native-picker-button:hover,.native-picker-button:focus-visible{border-color:#ffd719;background:#20303d;outline:none}
.native-picker-control{position:absolute!important;right:5px;top:50%;width:26px!important;height:26px!important;transform:translateY(-50%);opacity:0;pointer-events:none}
.native-picker-shell:has(>input:disabled) .native-picker-button{opacity:.45;cursor:not-allowed}

/* Mobil a tablet otočený naležato zostáva v mobilnom rozložení. */
@media (orientation:landscape) and (hover:none) and (pointer:coarse){
  html,body{max-width:100%;overflow-x:hidden}
  body{padding-bottom:calc(70px + env(safe-area-inset-bottom))!important}
  .app{display:block!important;min-height:100dvh}
  aside{position:static!important;inset:auto!important;width:auto!important;height:auto!important;min-height:0!important;padding:8px 12px!important}
  aside .side-note,aside .stadium-nav-button{display:none!important}
  .brand{max-width:calc(100% - 250px);padding:0!important}
  .main{width:100%!important;min-width:0!important;margin:0!important;padding:0!important}
  .content{width:100%!important;max-width:none!important;padding:16px 16px calc(86px + env(safe-area-inset-bottom))!important}
  .grid,.panels{grid-template-columns:1fr!important}
  .nav{position:fixed!important;z-index:100!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;display:flex!important;flex-flow:row nowrap!important;gap:4px!important;width:auto!important;height:auto!important;margin:0!important;padding:6px 8px calc(6px + env(safe-area-inset-bottom))!important;overflow-x:auto!important;overflow-y:hidden!important;border-top:1px solid #35404b!important;border-bottom:0!important;background:#0c1116f7!important;box-shadow:0 -10px 30px #0009!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch}
  .nav::-webkit-scrollbar{display:none}
  .nav button{position:relative!important;display:flex!important;flex:0 0 96px!important;min-width:96px!important;min-height:48px!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:1px!important;padding:4px 7px!important;white-space:nowrap!important;text-align:center!important;font-size:10px!important}
  .nav button .ico{height:16px!important;line-height:16px!important}
  .auth-dock{top:6px!important;right:8px!important;gap:6px!important}
  .auth-dock span{display:none!important}
  .auth-dock button{padding:7px 10px!important;font-size:11px!important}
  dialog,.auth-dialog{width:min(96vw,720px)!important;max-width:720px!important;height:auto!important;max-height:calc(100dvh - 16px)!important;margin:auto!important;overflow-y:auto!important;border-radius:15px!important}
  .editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

@media (orientation:landscape) and (hover:none) and (pointer:coarse) and (max-height:430px){
  .brandtag{display:none!important}
  .content{padding-top:10px!important}
  .nav button{min-height:42px!important}
}
.result-filters{display:flex;gap:12px;align-items:end;margin:22px 0;padding:16px;border:1px solid #39434d;border-radius:14px;background:#181e24}.result-filters label{display:grid;gap:6px;color:#9fb2c5;font-size:12px;font-weight:800}.result-filters select{min-width:190px;border:1px solid #46515c;border-radius:9px;background:#11171c;color:#fff;padding:10px 12px;font:inherit}.news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:25px}.parent-report{display:inline-flex;align-items:center;min-height:36px;padding:7px 10px;border-radius:8px;background:#2a323a;color:#cbd5df;font-size:11px;font-weight:800}.attendance-actions button[data-actual-value="present"].active{background:#174d2b;border-color:#4bb873;color:#aaf0c0}.attendance-actions button[data-actual-value="absent"].active{background:#511f26;border-color:#c65760;color:#ffc0c5}@media(max-width:700px){.result-filters{align-items:stretch;flex-direction:column}.result-filters label,.result-filters select{width:100%}.news-grid{grid-template-columns:1fr}.attendance-actions{display:grid!important;grid-template-columns:1fr}.parent-report{justify-content:center}}

/* Správa výsledku, stavu zápasu a poznámok. */
.match-fixture,.match-fixture.match-result{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;align-items:center}
.match-fixture-main{display:flex;align-items:center;gap:8px;min-width:0}
.match-fixture.match-result .match-fixture-main{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;gap:8px}
.match-fixture.match-result .match-fixture-main>strong:first-child{text-align:right}
.match-fixture.match-result .match-fixture-main>strong:last-child{text-align:left}
.match-fixture-main strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-state-info{display:flex;align-items:center;flex-wrap:wrap;gap:5px;min-width:0}
.match-status-badge{display:inline-flex;align-items:center;width:max-content;padding:3px 7px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.match-status-badge.status-scheduled{background:#243647;color:#b9d9f7}.match-status-badge.status-played{background:#173d27;color:#91e8ad}.match-status-badge.status-postponed{background:#4b3d10;color:#ffe27a}.match-status-badge.status-cancelled{background:#4c2026;color:#ffadb5}
.match-row-result{grid-template-columns:150px 64px 82px minmax(300px,1fr) auto}
.match-row-result .match-result-status{display:flex;align-items:center;justify-content:flex-start;min-width:82px}
.match-row-result .match-location-empty{display:none}
.match-note,.match-replacement{max-width:100%;color:#aebdca;font-size:10px;line-height:1.3}.match-replacement{color:#8fc5ff;font-weight:800}
.match-more-menu{min-width:190px}
#score-editor-dialog,#match-status-dialog{width:min(92vw,620px);max-height:90vh;overflow-y:auto;padding:0;border:1px solid #6c5d17;border-radius:18px;background:#1d2228;color:#fff;box-shadow:0 28px 90px rgba(0,0,0,.78)}
#score-editor-dialog::backdrop,#match-status-dialog::backdrop{background:rgba(3,7,12,.84);backdrop-filter:blur(4px)}
#score-editor-form,#match-status-form{display:grid;gap:15px;padding:24px}
#score-editor-form input,#match-status-form input,#match-status-form select,#match-status-form textarea{width:100%;border:1px solid #46505a;border-radius:9px;background:#14191e;color:#fff;padding:10px 12px;font:inherit;box-sizing:border-box}
#match-status-form textarea{resize:vertical;min-height:88px}
.match-editor-context{margin:0;padding:10px 12px;border:1px solid #39434d;border-radius:10px;background:#14191e;color:#cbd8e4;font-size:12px;font-weight:750}
@media(max-width:760px){.match-fixture.match-result .match-fixture-main{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr)}.match-state-info{align-items:flex-start;flex-direction:column}.match-note,.match-replacement{font-size:11px}.score-editor-grid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.match-row-result{grid-template-columns:112px 58px 82px minmax(0,1fr) auto}.match-row-result .match-result-status{grid-column:3;grid-row:1}.match-row-result .match-fixture{grid-column:1/-1;grid-row:2}.match-row-result .match-row-actions{grid-column:5;grid-row:1}}
@media(max-width:520px){.match-row-result{grid-template-columns:minmax(0,1fr) auto}.match-row-result .match-category{grid-column:1;grid-row:2}.match-row-result .match-result-status{grid-column:2;grid-row:2;justify-self:end}.match-row-result .match-fixture{grid-column:1/-1;grid-row:3}.match-row-result .match-row-actions{grid-column:2;grid-row:1}}
@media(max-width:420px){.score-editor-grid{grid-template-columns:1fr}}

/* Na počítači zostáva blok štadióna pri spodnom okraji bočného panela. */
@media(min-width:761px){aside{display:flex;flex-direction:column}aside .side-note{margin-top:auto!important}}

/* Mobilná hlavná navigácia je pevne pri spodnom okraji obrazovky. */
@media(max-width:760px){
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))!important}
  aside{position:static!important;top:auto!important;height:auto!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
  .nav{position:fixed!important;z-index:100!important;left:0!important;right:0!important;top:auto!important;bottom:0!important;margin:0!important;padding:7px 8px calc(7px + env(safe-area-inset-bottom))!important;border-top:1px solid #35404b!important;border-bottom:0!important;background:#0c1116f7!important;box-shadow:0 -10px 30px #0009!important}
  .content{padding-bottom:calc(96px + env(safe-area-inset-bottom))!important}
}

/* Kompaktná správa tréningových jednotiek a skutočnej dochádzky. */
.training-category-row{grid-template-columns:76px minmax(0,1fr);gap:10px;padding:10px 11px}
.training-category-sessions{gap:5px}
.training-schedule-session{align-items:center;gap:10px;padding:7px 0}
.training-session-info{display:grid!important;grid-template-columns:minmax(170px,.75fr) minmax(220px,1.2fr);align-items:center;gap:4px 12px!important;min-width:0;flex:1}
.training-session-info small{grid-column:2;text-align:left}
.training-session-actions{display:flex!important;align-items:center;gap:5px!important;flex:0 0 auto}
.training-session-actions button{min-height:30px;padding:5px 8px;border:1px solid #46515c;border-radius:7px;background:#20272e;color:#dce6ef;font:inherit;font-size:10px;font-weight:800;cursor:pointer}
.training-session-actions button:hover{border-color:#ffd21b;color:#ffd21b}
.training-session-actions button.danger{border-color:#71363c;color:#ffadb5}
.training-attendance-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:10px}
.training-attendance-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 10px;border-radius:8px}
.training-player-identity{display:grid!important;justify-content:initial!important;gap:1px!important;min-width:0}
.training-player-identity strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.attendance-actions{display:flex;grid-template-columns:none;gap:5px}
.attendance-actions button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:88px;min-height:30px;padding:5px 8px;border-radius:7px;font-size:10px;font-weight:850}
.attendance-actions button span{font-size:13px;line-height:1}
.attendance-actions .attendance-present.active{border-color:#45b66e;background:#164a2a;color:#b8f4ca}
.attendance-actions .attendance-absent.active{border-color:#d25761;background:#501f25;color:#ffd0d4}
.training-attendance-panel .event-panel-head{margin-bottom:4px}
.training-attendance-panel .training-session-field{margin-top:10px}
@media(max-width:900px){.training-attendance-list{grid-template-columns:1fr}}
@media(max-width:650px){.training-session-info{grid-template-columns:1fr}.training-session-info small{grid-column:auto}.training-session-actions{width:100%}.training-session-actions button{flex:1}.training-attendance-row{grid-template-columns:1fr auto}.attendance-actions{display:flex!important;grid-template-columns:none!important}.attendance-actions button{min-width:82px}}
@media(max-width:420px){.training-attendance-row{grid-template-columns:1fr}.attendance-actions button{flex:1}}

/* Kompaktné mesačné štatistiky dochádzky. */
.training-stats-panel{margin-top:10px;padding:14px 16px}
.training-stats-panel .event-panel-head{margin-bottom:2px}
.training-stats-panel .event-panel-head .icon{width:34px;height:34px;margin-bottom:8px;font-size:15px}
.training-stats-panel .event-panel-head h2{margin-bottom:2px;font-size:16px}
.training-stats-panel .event-panel-head p{margin:0;font-size:11px;line-height:1.35}
.training-stats-panel .training-session-field{display:flex;align-items:center;gap:9px;margin-top:8px;font-size:11px}
.training-stats-panel .training-session-field select{width:auto;min-width:190px;padding:7px 9px}
.training-stats-panel .training-stats-table{margin-top:8px}
.training-stats-panel .training-stats-table th,.training-stats-panel .training-stats-table td{padding:6px 9px}
.training-stats-panel .training-stats-empty{padding:5px 0}
@media(max-width:560px){.training-stats-panel{padding:12px}.training-stats-panel .training-session-field{align-items:stretch;flex-direction:column;gap:4px}.training-stats-panel .training-session-field select{width:100%;min-width:0}.training-stats-panel .training-stats-table th,.training-stats-panel .training-stats-table td{padding:6px 7px}}

/* Dochádzka a mesačné štatistiky v203 */
@media(min-width:901px){.training-attendance-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
.training-attendance-row{min-width:0;padding:7px 8px;gap:6px}
.training-player-identity strong{font-size:11px}
.attendance-actions{gap:4px}
.attendance-actions button{min-width:72px;min-height:28px;padding:4px 6px;font-size:9px}
.training-stats-table table{min-width:620px;table-layout:fixed}
.training-stats-table th:first-child,.training-stats-table td:first-child{width:34%;text-align:left}
.training-stats-table th:last-child,.training-stats-table td:last-child{width:22%}
.training-attendance-rate{color:#69c5ff;font-size:12px}
@media(max-width:650px){
  .training-attendance-row{grid-template-columns:minmax(0,1fr) auto!important;gap:5px;padding:7px}
  .training-player-identity strong{font-size:10px}
  .attendance-actions{flex-wrap:nowrap}
  .attendance-actions button{min-width:66px;padding:4px 5px;font-size:8px}
  .attendance-actions button span{font-size:11px}
  .training-stats-table table{min-width:570px}
  .training-stats-table th:first-child,.training-stats-table td:first-child{width:31%}
}

/* Extra kompaktné mesačné štatistiky v205 */
.training-stats-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:14px;row-gap:4px;margin-top:8px;padding:9px 11px}
.training-stats-panel .event-panel-head{min-width:0;margin:0}
.training-stats-panel .event-panel-head>div{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;column-gap:8px;row-gap:0}
.training-stats-panel .event-panel-head .icon{grid-row:1 / span 2;width:28px;height:28px;margin:0;border-radius:8px;font-size:12px}
.training-stats-panel .event-panel-head h2{margin:0;font-size:14px;line-height:1.15}
.training-stats-panel .event-panel-head p{margin:1px 0 0;font-size:9px;line-height:1.2}
.training-stats-panel .training-session-field{display:flex;align-items:center;gap:6px;margin:0;font-size:9px;white-space:nowrap}
.training-stats-panel .training-session-field select{width:150px;min-width:150px;min-height:30px;padding:5px 8px;font-size:10px}
.training-stats-panel .training-stats-table{grid-column:1 / -1;margin-top:2px}
.training-stats-panel .training-stats-table th,.training-stats-panel .training-stats-table td{height:24px;padding:3px 7px;font-size:10px;line-height:1.15}
.training-stats-panel .training-stats-table th{font-size:8px;letter-spacing:.06em}
.training-stats-panel .training-attendance-rate{font-size:10px}
@media(max-width:650px){
  .training-stats-panel{grid-template-columns:1fr;padding:8px;row-gap:6px}
  .training-stats-panel .training-session-field{align-items:center;flex-direction:row;justify-content:space-between;gap:7px}
  .training-stats-panel .training-session-field select{width:145px;min-width:0}
  .training-stats-panel .training-stats-table{margin-top:0}
  .training-stats-panel .training-stats-table th,.training-stats-panel .training-stats-table td{height:23px;padding:3px 5px;font-size:9px}
  .training-stats-panel .training-stats-table th{font-size:7px}
}

/* Výber funkcie a kategórií člena klubu v206 */
#member-editor-form select{width:100%;border:1px solid #46505a;border-radius:9px;background:#14191e;color:#fff;padding:10px 12px;font:inherit}
.member-category-fieldset{margin:0;padding:10px 12px;border:1px solid #3f4a55;border-radius:10px}
.member-category-fieldset legend{padding:0 6px;color:#c8d2dc;font-size:12px;font-weight:850}

/* Úzky mesačný prehľad podľa referencie v207 */
.training-stats-panel{width:min(100%,520px);max-width:520px;justify-self:start}
.training-stats-panel .training-stats-table{overflow:visible}
.training-stats-panel .training-stats-table table{width:100%;min-width:0;table-layout:fixed}
.training-stats-panel .training-stats-table th:first-child,.training-stats-panel .training-stats-table td:first-child{width:43%}
.training-stats-panel .training-stats-table th:nth-child(2),.training-stats-panel .training-stats-table td:nth-child(2),.training-stats-panel .training-stats-table th:nth-child(3),.training-stats-panel .training-stats-table td:nth-child(3){width:14%;text-align:center}
.training-stats-panel .training-stats-table th:last-child,.training-stats-panel .training-stats-table td:last-child{width:29%;text-align:right}
.training-stats-panel .training-stats-table th:last-child{white-space:normal;line-height:1.15}
@media(max-width:560px){.training-stats-panel{width:100%;max-width:none}.training-stats-panel .training-stats-table th:first-child,.training-stats-panel .training-stats-table td:first-child{width:40%}.training-stats-panel .training-stats-table th:last-child,.training-stats-panel .training-stats-table td:last-child{width:32%}}

/* Fotografia hráča v detailnej karte v208 */
.player-card-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.player-card-photo[hidden]{display:none}

/* Rodičovské karty detí v217 */
.portal-child-card{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) 22px;align-items:center;gap:14px;min-height:122px;padding:13px;text-align:left}
.portal-child-card>.portal-child-photo{width:92px;height:96px;display:block;overflow:hidden;border:1px solid #16bff5;border-radius:12px;background:#082f4a}
.portal-child-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}
.portal-child-photo-placeholder{width:100%;height:100%;display:grid;place-items:center}
.portal-child-photo-placeholder svg{width:65px;height:78px;fill:none;stroke:#20bceb;stroke-width:2}
.portal-child-card-body{min-width:0;display:flex;flex-direction:column;gap:6px}
.portal-child-card-body strong{font-size:18px;line-height:1.15}
.portal-child-card-body .portal-child-category{width:max-content;padding:4px 9px;border-radius:999px;background:#ffd21b;color:#101820;font-size:11px;font-weight:900}
.portal-child-card-body small{color:#b9c7d3;line-height:1.35}
.portal-child-open{color:#ffd21b;font-size:30px;line-height:1}
.portal-empty-children{grid-column:1/-1;display:grid;gap:12px;justify-items:center}
.portal-empty-children a{color:#63bfff;font-weight:800}
@media(max-width:520px){.portal-child-card{grid-template-columns:76px minmax(0,1fr) 16px;gap:11px;min-height:104px;padding:11px}.portal-child-card>.portal-child-photo{width:76px;height:80px}.portal-child-card-body strong{font-size:16px}.portal-child-card-body small{font-size:11px}}

/* Parent portal v218: current nomination answer */
.portal-response button[data-answer="yes"].is-selected{border-color:#46d17a;background:#166b37;box-shadow:0 0 0 2px rgba(70,209,122,.2)}
.portal-response button[data-answer="no"].is-selected{border-color:#ff6974;background:#852b35;box-shadow:0 0 0 2px rgba(255,105,116,.18)}
.portal-response-help{display:block;margin-top:5px;color:#87a1b8!important}
