:root {
  --black: #050505;
  --black-soft: #101010;
  --yellow: #f3b300;
  --yellow-bright: #ffd635;
  --white: #ffffff;
  --panel-alpha: rgba(243, 179, 0, .20);
  --line: clamp(2px, .22vmin, 3px);

  /* Escala fluida: considera largura e altura, não só a largura. */
  --space-xs: clamp(4px, .55vmin, 9px);
  --space-sm: clamp(7px, .9vmin, 15px);
  --space-md: clamp(10px, 1.35vmin, 22px);
  --space-lg: clamp(15px, 2vmin, 34px);

  --header-h: clamp(80px, 13.6dvh, 136px);
  --nav-h: clamp(118px, 20dvh, 188px);
  --footer-h: clamp(22px, 3.5dvh, 34px);

  --logo-w: clamp(130px, 15.4vmin, 232px);
  --icon-size: clamp(60px, min(8.4vw, 12.5dvh), 112px);
  --card-icon: clamp(58px, min(7.5vw, 11dvh), 108px);

  --body-size: clamp(.82rem, min(1.2vw, 2.1dvh), 1.25rem);
  --title-size: clamp(1.65rem, min(4vw, 6.6dvh), 4.5rem);
}
* { box-sizing: border-box; }
html, body { width: 100%; min-height: 100%; margin: 0; }
html { background: #000; }
body {
  overflow: hidden;
  background: #000;
  color: var(--white);
  font-family: Arial, Helvetica, sans-serif;
}
button { font: inherit; }

.site-shell {
  width: 100%;
  height: 100dvh;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  display: grid;
  grid-template-rows: var(--header-h) minmax(0, 1fr) var(--nav-h) var(--footer-h);
  background: var(--black);
  border: 0;
}

/* CABEÇALHO */
.brand-panel {
  position: relative;
  min-height: 0;
  height: var(--header-h);
  display: grid;
  place-items: center;
  background:
    linear-gradient(rgba(5,5,5,.96), rgba(5,5,5,.96)),
    repeating-linear-gradient(45deg, #000 0 5px, #151515 5px 8px);
  clip-path: polygon(0 0,100% 0,100% 74%,72% 74%,66% 88%,55% 88%,50% 100%,45% 88%,34% 88%,28% 74%,0 74%);
  border-bottom: var(--line) solid var(--yellow);
  z-index: 2;
}
.brand-logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: var(--logo-w);
  height: auto;
  max-height: calc(var(--header-h) * .62);
  object-fit: contain;
  bottom: calc(var(--header-h) * .10);
  z-index: 4;
  pointer-events: none;
}
.menu-button {
  display: none;
  position: absolute;
  left: var(--space-md);
  top: var(--space-md);
  width: clamp(30px, 4.5vmin, 38px);
  height: clamp(30px, 4.5vmin, 38px);
  padding: 7px;
  border: 0;
  background: transparent;
}
.menu-button span {
  display: block;
  height: clamp(2px, .32vmin, 3px);
  margin: 5px 0;
  background: var(--yellow);
}
.rune-row {
  position: absolute;
  inset: auto 3% clamp(10px, 2.1dvh, 20px);
  color: var(--yellow);
  font-size: clamp(10px, min(1.1vw, 2dvh), 17px);
  letter-spacing: clamp(.35em, .8vw, .85em);
  white-space: nowrap;
  overflow: hidden;
  opacity: .78;
}

/* CONTEÚDO PRINCIPAL */
.showcase {
  min-height: 0;
  margin-top: calc(var(--header-h) * -.26);
  display: grid;
  grid-template-columns: minmax(0, 2.25fr) minmax(clamp(220px, 24vw, 360px), .9fr);
  background: #121212;
  overflow: hidden;
}
.scene-wrap {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.scene-image {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: cover;
  opacity: 1;
  transition: opacity .18s ease;
}
.scene-image.is-changing { opacity: .15; }

.scene-dots {
  position: absolute;
  left: 50%;
  bottom: clamp(8px, 2.2dvh, 24px);
  translate: -50% 0;
  display: flex;
  gap: clamp(5px, .65vmin, 9px);
}
.scene-dots span {
  width: clamp(7px, 1.25vmin, 12px);
  height: clamp(7px, 1.25vmin, 12px);
  border-radius: 50%;
  background: rgba(255,255,255,.58);
}
.scene-dots .active { background: var(--yellow); }

/* PAINEL DA TRIBO */
.tribe-card {
  position: relative;
  min-width: 0;
  min-height: 0;
  padding:
    clamp(58px, 12dvh, 130px)
    clamp(22px, 3.6vw, 52px)
    clamp(28px, 6dvh, 70px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  color: #050505;
  background:
    linear-gradient(var(--panel-alpha), var(--panel-alpha)),
    linear-gradient(90deg, rgba(243,179,0,0), rgba(243,179,0,.05));
  overflow: hidden;
}
.tribe-card::before {
  content: "";
  position: absolute;
  left: clamp(-70px, -5vw, -42px);
  top: 0;
  bottom: 0;
  width: clamp(92px, 10vw, 150px);
  background:
    linear-gradient(90deg, transparent, rgba(243,179,0,.15)),
    repeating-linear-gradient(
      135deg,
      transparent 0 14px,
      rgba(243,179,0,.72) 14px 17px,
      transparent 17px 31px
    );
  clip-path: polygon(100% 0,100% 100%,30% 100%,44% 89%,20% 78%,42% 66%,18% 55%,43% 44%,20% 32%,44% 21%,27% 10%);
}
.tribe-card h1 {
  margin: clamp(5px, 1.2vmin, 12px) 0 clamp(9px, 2.2vmin, 24px);
  font-family: Georgia, serif;
  font-size: var(--title-size);
  line-height: .95;
  letter-spacing: clamp(.08em, .55vw, .15em);
}
.tribe-card p {
  margin-top: clamp(5px, 1vmin, 10px);
  max-width: 27ch;
  font-size: var(--body-size);
  line-height: clamp(1.25, 1.2 + .25vw, 1.55);
}
.eyebrow {
  margin: 0 !important;
  font-size: clamp(.56rem, min(.8vw, 1.5dvh), .78rem) !important;
  letter-spacing: clamp(.14em, .3vw, .24em);
  font-weight: 800;
}
.tribe-emblem {
  width: var(--card-icon);
  height: var(--card-icon);
  display: grid;
  place-items: center;
  border: clamp(2px, .25vmin, 3px) solid #050505;
  border-radius: 50%;
}
.tribe-emblem svg { width: 76%; height: 76%; }
.tribe-emblem svg * {
  fill: none;
  stroke: #050505;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* NAVEGAÇÃO INFERIOR */
.tribe-nav {
  position: relative;
  min-height: 0;
  height: var(--nav-h);
  margin-top: -2px;
  padding:
    clamp(9px, 1.7dvh, 20px)
    clamp(26px, 8vw, 120px)
    clamp(8px, 1.5dvh, 18px);
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: center;
  gap: clamp(12px, 2.4vw, 34px);
  background:
    linear-gradient(rgba(5,5,5,.98), rgba(5,5,5,.98)),
    repeating-linear-gradient(45deg,#000 0 7px,#171717 7px 10px);
  clip-path: polygon(0 0,43% 0,50% clamp(10px, 2.2dvh, 20px),57% 0,100% 0,100% 100%,0 100%);
  border-top: var(--line) solid var(--yellow);
  overflow: visible;
}
.tribe-button {
  appearance: none;
  min-width: 0;
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--white);
  display: grid;
  justify-items: center;
  align-content: center;
  gap: clamp(4px, .8vmin, 9px);
  cursor: default;
  font-size: clamp(.64rem, min(1vw, 1.8dvh), 1rem);
  line-height: 1;
  letter-spacing: .08em;
}
.icon-disc {
  position: relative;
  width: var(--icon-size);
  height: var(--icon-size);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 40% 30%, rgba(255,255,255,.10), transparent 35%),
    var(--yellow);
  border: clamp(2px, .26vmin, 3px) dashed #111;
  outline: 0 solid transparent;
  outline-offset: clamp(4px, .55vmin, 7px);
  transition: outline-width .12s ease, outline-color .12s ease, transform .12s ease;
}
.icon-disc svg { width: 68%; height: 68%; }
.icon-disc svg * {
  fill: none;
  stroke: #070707;
  stroke-width: 6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.tribe-button:hover .icon-disc,
.tribe-button:focus-visible .icon-disc,
.tribe-button.is-active .icon-disc {
  outline: clamp(2px, .35vmin, 4px) solid var(--yellow-bright);
  transform: scale(1.025);
}
.tribe-button:focus-visible {
  outline: 2px solid var(--white);
  outline-offset: 5px;
}

.footer-runes {
  height: var(--footer-h);
  padding: clamp(3px, .55dvh, 6px) 4%;
  color: var(--yellow);
  border-top: 2px solid var(--yellow);
  white-space: nowrap;
  overflow: hidden;
  letter-spacing: clamp(.45em, .9vw, .95em);
  font-size: clamp(8px, min(.9vw, 1.7dvh), 14px);
}

/* 
  ESTÁGIO INTERMEDIÁRIO
  Ainda é desktop, mas tudo encolhe antes de reorganizar.
*/
@media (max-width: 1120px), (max-height: 720px) {
  :root {
    --header-h: clamp(76px, 13dvh, 112px);
    --nav-h: clamp(102px, 18dvh, 150px);
    --footer-h: clamp(20px, 3dvh, 28px);
    --logo-w: clamp(105px, 12vmin, 160px);
    --icon-size: clamp(52px, min(7vw, 10dvh), 84px);
    --card-icon: clamp(48px, min(6vw, 9dvh), 76px);
    --body-size: clamp(.74rem, min(1.1vw, 1.85dvh), 1rem);
    --title-size: clamp(1.4rem, min(3.4vw, 5.4dvh), 3.2rem);
  }
  .showcase {
    grid-template-columns: minmax(0, 1.8fr) minmax(205px, .72fr);
  }
  .tribe-card {
    padding:
      clamp(42px, 8dvh, 78px)
      clamp(18px, 2.6vw, 34px)
      clamp(20px, 4dvh, 42px);
  }
  .tribe-nav {
    padding-inline: clamp(18px, 5vw, 60px);
    gap: clamp(8px, 1.6vw, 20px);
  }
}

/* Janela muito baixa: preserva tudo na mesma tela, comprimindo verticalmente. */
@media (min-width: 701px) and (max-height: 590px) {
  :root {
    --header-h: 72px;
    --nav-h: 92px;
    --footer-h: 20px;
    --logo-w: 105px;
    --icon-size: min(58px, 9.5dvh);
    --card-icon: min(52px, 8.5dvh);
  }
  .rune-row { bottom: 7px; }
  .tribe-card {
    padding: 30px 18px 16px;
  }
  .tribe-card p {
    font-size: .72rem;
    line-height: 1.22;
  }
  .tribe-card h1 {
    font-size: 1.35rem;
    margin-bottom: 6px;
  }
}

/* MOBILE: só realoca quando o formato realmente pede. */
@media (max-width: 700px) and (orientation: portrait) {
  :root {
    --header-h: clamp(94px, 15.2dvh, 136px);
    --nav-h: clamp(170px, 26dvh, 224px);
    --footer-h: clamp(22px, 3.5dvh, 30px);
    --logo-w: clamp(124px, 35vw, 185px);
    --icon-size: clamp(58px, min(20vw, 10.5dvh), 82px);
  }

  body { overflow: hidden; }

  .site-shell {
    height: 100dvh;
    grid-template-rows:
      var(--header-h)
      minmax(0, 1fr)
      var(--nav-h)
      var(--footer-h);
  }
  .brand-panel {
    height: var(--header-h);
    min-height: 0;
    clip-path: polygon(0 0,100% 0,100% 76%,62% 76%,50% 100%,38% 76%,0 76%);
  }
  .brand-logo {
    width: var(--logo-w);
    height: auto;
    max-height: calc(var(--header-h) * .52);
    bottom: calc(var(--header-h) * .20);
  }
  .menu-button { display: block; }
  .rune-row { display: none; }

  .showcase {
    min-height: 0;
    margin-top: calc(var(--header-h) * -.20);
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    grid-template-columns: 1fr;
    overflow: hidden;
  }
  .scene-wrap { min-height: 0; }
  .scene-image {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: cover;
  }

  .tribe-card {
    min-height: 0;
    height: clamp(118px, 19dvh, 176px);
    padding:
      clamp(18px, 3dvh, 28px)
      clamp(18px, 5vw, 28px)
      clamp(28px, 5dvh, 42px)
      clamp(74px, 20vw, 90px);
    justify-content: flex-start;
    background:
      linear-gradient(var(--panel-alpha), var(--panel-alpha)),
      linear-gradient(180deg, rgba(243,179,0,.04), rgba(243,179,0,.12));
    clip-path: polygon(0 0,100% 0,100% 82%,58% 82%,50% 100%,42% 82%,0 82%);
  }
  .tribe-card::before {
    left: 0;
    top: -28px;
    bottom: auto;
    width: 100%;
    height: 64px;
    background:
      linear-gradient(180deg, transparent, rgba(243,179,0,.12)),
      repeating-linear-gradient(135deg, transparent 0 14px, rgba(243,179,0,.68) 14px 17px, transparent 17px 31px);
    clip-path: polygon(0 100%,8% 72%,17% 90%,28% 62%,39% 88%,50% 58%,62% 88%,73% 64%,84% 90%,93% 70%,100% 100%);
  }
  .tribe-emblem {
    position: absolute;
    left: clamp(18px, 5vw, 24px);
    top: clamp(24px, 4dvh, 34px);
    width: clamp(48px, 14vw, 60px);
    height: clamp(48px, 14vw, 60px);
    border-width: 2px;
  }
  .tribe-card h1 {
    margin: 2px 0 6px;
    font-size: clamp(1.2rem, 5.8vw, 1.65rem);
  }
  .tribe-card p {
    margin: 0;
    max-width: 36ch;
    font-size: clamp(.72rem, 3.2vw, .95rem);
    line-height: 1.3;
  }

  .tribe-nav {
    height: var(--nav-h);
    margin-top: clamp(-24px, -3dvh, -16px);
    padding:
      clamp(34px, 5dvh, 46px)
      clamp(12px, 4vw, 20px)
      clamp(8px, 1.5dvh, 18px);
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: clamp(8px, 1.6dvh, 16px) clamp(8px, 3vw, 14px);
    clip-path: polygon(0 0,42% 0,50% clamp(16px, 2.8dvh, 24px),58% 0,100% 0,100% 100%,0 100%);
  }
  .tribe-button {
    font-size: clamp(.68rem, 3vw, .84rem);
    gap: 4px;
  }
  .footer-runes {
    height: var(--footer-h);
    font-size: clamp(8px, 2.4vw, 11px);
  }
}

/* Celular muito baixo: último estágio antes de liberar rolagem. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 620px) {
  :root {
    --header-h: 92px;
    --nav-h: 154px;
    --footer-h: 20px;
    --icon-size: 54px;
    --logo-w: 105px;
  }
  .tribe-card {
    height: 108px;
    padding-top: 14px;
    padding-bottom: 22px;
  }
  .tribe-card p {
    font-size: .68rem;
    line-height: 1.2;
    max-width: 38ch;
  }
  .tribe-card h1 { font-size: 1.1rem; }
}

/* Só em telas realmente inviáveis a rolagem é liberada. */
@media (max-width: 360px) and (max-height: 540px) {
  body { overflow-y: auto; }
  .site-shell {
    height: auto;
    min-height: 100dvh;
    grid-template-rows: 88px 390px 150px 20px;
  }
}
/* =========================================================
   TEXTO SEGURO E REALOCAÇÃO ANTECIPADA
   ========================================================= */

.scene-caption {
  position: absolute;
  z-index: 3;
  left: clamp(10px, 2.2vw, 32px);
  right: clamp(10px, 2.2vw, 32px);
  bottom: clamp(26px, 5.2dvh, 72px);
  min-width: 0;
  max-width: min(78%, 760px);
  display: grid;
  gap: clamp(2px, .5vmin, 6px);
  color: var(--yellow);
  pointer-events: none;
  overflow: visible;
}
.scene-caption strong,
.scene-caption span {
  display: block;
  min-width: 0;
  max-width: 100%;
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
  text-wrap: balance;
}
.scene-caption strong {
  font-size: clamp(.92rem, min(2.1vw, 3.3dvh), 2rem);
  line-height: 1.05;
  letter-spacing: clamp(.02em, .16vw, .07em);
}
.scene-caption span {
  color: #fff;
  font-size: clamp(.58rem, min(1.05vw, 1.8dvh), 1rem);
  line-height: 1.2;
}

.tribe-card,
.tribe-card * {
  min-width: 0;
}
.tribe-card h1,
.tribe-card p,
.eyebrow {
  max-width: 100%;
  overflow: visible;
  white-space: normal;
  overflow-wrap: normal;
  word-break: keep-all;
  hyphens: none;
}
.tribe-card h1 {
  text-wrap: balance;
}
.tribe-card p {
  text-wrap: pretty;
}

/* Em janelas estreitas ou quase quadradas, reorganiza antes de o texto apertar. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .showcase {
    margin-top: calc(var(--header-h) * -.18);
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) auto;
  }

  .scene-wrap {
    min-height: 0;
  }

  .tribe-card {
    height: clamp(108px, 18dvh, 168px);
    padding:
      clamp(16px, 2.8dvh, 26px)
      clamp(18px, 4vw, 34px)
      clamp(25px, 4.5dvh, 40px)
      clamp(76px, 13vw, 112px);
    justify-content: center;
    clip-path: polygon(0 0,100% 0,100% 82%,58% 82%,50% 100%,42% 82%,0 82%);
  }

  .tribe-card::before {
    left: 0;
    top: -26px;
    bottom: auto;
    width: 100%;
    height: 62px;
    clip-path: polygon(0 100%,8% 72%,17% 90%,28% 62%,39% 88%,50% 58%,62% 88%,73% 64%,84% 90%,93% 70%,100% 100%);
  }

  .tribe-emblem {
    position: absolute;
    left: clamp(16px, 3vw, 28px);
    top: 50%;
    translate: 0 -58%;
    width: clamp(46px, 8vw, 68px);
    height: clamp(46px, 8vw, 68px);
  }

  .tribe-card h1 {
    margin: 1px 0 5px;
    font-size: clamp(1.05rem, 3.3vw, 1.75rem);
    line-height: 1;
  }

  .tribe-card p {
    margin: 0;
    max-width: 62ch;
    font-size: clamp(.66rem, 1.65vw, .92rem);
    line-height: 1.28;
  }

  .eyebrow {
    font-size: clamp(.5rem, 1.2vw, .68rem) !important;
  }

  .scene-caption {
    max-width: calc(100% - 24px);
    left: 12px;
    right: 12px;
    bottom: clamp(22px, 4dvh, 42px);
  }
}

/* Janela baixa: compacta a descrição sem cortar nenhuma linha. */
@media (max-height: 560px) {
  .tribe-card {
    height: clamp(82px, 17dvh, 112px);
    padding-top: 10px;
    padding-bottom: 18px;
  }

  .tribe-card h1 {
    font-size: clamp(.92rem, min(2.5vw, 3.8dvh), 1.3rem);
    margin-bottom: 3px;
  }

  .tribe-card p {
    font-size: clamp(.58rem, min(1.35vw, 2.2dvh), .76rem);
    line-height: 1.18;
  }

  .eyebrow {
    display: none;
  }

  .scene-caption {
    bottom: clamp(18px, 3.7dvh, 28px);
  }
}

/* Mobile estreito: título e descrição nunca ultrapassam a área útil. */
@media (max-width: 700px) and (orientation: portrait) {
  .scene-caption {
    left: clamp(8px, 3vw, 16px);
    right: clamp(8px, 3vw, 16px);
    bottom: clamp(20px, 4dvh, 38px);
    max-width: calc(100% - 16px);
  }

  .scene-caption strong {
    font-size: clamp(.78rem, 4.3vw, 1.25rem);
  }

  .scene-caption span {
    font-size: clamp(.52rem, 2.7vw, .78rem);
  }

  .tribe-card {
    padding-left: clamp(70px, 20vw, 92px);
    padding-right: clamp(12px, 4vw, 24px);
  }

  .tribe-card h1 {
    font-size: clamp(1rem, 5vw, 1.48rem);
    letter-spacing: clamp(.04em, .35vw, .1em);
  }

  .tribe-card p {
    max-width: 100%;
    font-size: clamp(.64rem, 3vw, .88rem);
    line-height: 1.27;
  }
}

/* Último recurso: se a altura física for absurda, libera rolagem em vez de cortar texto. */
@media (max-height: 470px) {
  body {
    overflow-y: auto;
  }
  .site-shell {
    height: auto;
    min-height: 100dvh;
    grid-template-rows:
      var(--header-h)
      minmax(320px, 1fr)
      var(--nav-h)
      var(--footer-h);
  }
}

/* =========================================================
   COMPRESSÃO VERTICAL AMPLIADA
   Os elementos continuam diminuindo antes de liberar rolagem.
   ========================================================= */

/* Garante que o conteúdo dos botões nunca invada o próprio texto. */
.tribe-button {
  min-height: 0;
  overflow: visible;
  grid-template-rows: auto auto;
  align-content: center;
}
.tribe-button > span:last-child {
  display: block;
  width: 100%;
  min-height: 1em;
  text-align: center;
  white-space: nowrap;
  line-height: 1;
  overflow: visible;
}
.icon-disc {
  flex: 0 0 auto;
}

/* Patamar 1: fonte normal, aproximadamente 16 px. */
.tribe-button {
  font-size: 16px;
}

/* A navegação pode encolher bem mais verticalmente. */
@media (max-height: 760px) {
  :root {
    --header-h: clamp(58px, 10.5dvh, 84px);
    --nav-h: clamp(84px, 16.5dvh, 126px);
    --footer-h: clamp(18px, 2.8dvh, 25px);
    --logo-w: clamp(96px, 11.5vmin, 152px);
    --icon-size: clamp(44px, min(6.4vw, 8.6dvh), 72px);
    --card-icon: clamp(40px, min(5.8vw, 7.8dvh), 66px);
  }

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

  .rune-row {
    bottom: 5px;
    font-size: clamp(8px, 1.5dvh, 12px);
  }

  .showcase {
    margin-top: calc(var(--header-h) * -.16);
  }

  .tribe-card {
    padding:
      clamp(25px, 5dvh, 50px)
      clamp(14px, 2.4vw, 28px)
      clamp(12px, 2.8dvh, 28px);
  }

  .tribe-nav {
    padding:
      clamp(5px, .9dvh, 10px)
      clamp(14px, 4vw, 48px)
      clamp(4px, .8dvh, 9px);
    gap: clamp(5px, 1.4vw, 15px);
  }

  .tribe-button {
    gap: clamp(2px, .45dvh, 5px);
    font-size: 12px; /* Patamar 2 */
  }

  .icon-disc {
    outline-offset: 3px;
  }

  .scene-caption {
    bottom: clamp(15px, 3dvh, 27px);
  }
}

/* Patamar intermediário para janelas baixas. */
@media (max-height: 640px) {
  :root {
    --header-h: clamp(52px, 9dvh, 70px);
    --nav-h: clamp(70px, 14.5dvh, 96px);
    --footer-h: 18px;
    --logo-w: clamp(86px, 10vmin, 124px);
    --icon-size: clamp(36px, min(5.8vw, 7.4dvh), 56px);
    --card-icon: clamp(34px, min(5vw, 6.8dvh), 52px);
  }

  .brand-logo {
    max-height: calc(var(--header-h) * .60);
    bottom: calc(var(--header-h) * .11);
  }

  .rune-row {
    display: none;
  }

  .tribe-nav {
    padding-top: 4px;
    padding-bottom: 3px;
  }

  .tribe-button {
    font-size: 10px; /* Patamar 3 */
    gap: 2px;
  }

  .tribe-button > span:last-child {
    letter-spacing: .04em;
  }

  .footer-runes {
    padding-block: 2px;
  }
}

/* Compressão forte em desktop/tablet baixo, ainda sem scrollbar. */
@media (min-width: 701px) and (max-height: 520px) {
  :root {
    --header-h: 52px;
    --nav-h: 66px;
    --footer-h: 16px;
    --logo-w: 76px;
    --icon-size: min(42px, 7.4dvh);
    --card-icon: min(38px, 6.8dvh);
  }

  .showcase {
    margin-top: -7px;
  }

  .tribe-card {
    padding: 14px 12px 10px;
  }

  .tribe-card h1 {
    font-size: clamp(.82rem, 3.6dvh, 1.08rem);
    margin: 1px 0 3px;
  }

  .tribe-card p {
    font-size: clamp(.52rem, 2.15dvh, .68rem);
    line-height: 1.12;
  }

  .tribe-emblem {
    width: var(--card-icon);
    height: var(--card-icon);
  }

  .tribe-nav {
    padding: 2px clamp(10px, 3vw, 28px);
  }

  .tribe-button {
    font-size: 10px;
    gap: 1px;
  }

  .icon-disc {
    outline-offset: 2px;
  }

  .scene-dots {
    bottom: 5px;
  }
}

/* Mobile: os quatro botões recebem linhas de altura real, evitando corte. */
@media (max-width: 700px) and (orientation: portrait) {
  .tribe-nav {
    min-height: 0;
    grid-template-rows: repeat(2, minmax(0, 1fr));
  }

  .tribe-button {
    min-height: 0;
    height: 100%;
    grid-template-rows: minmax(0, auto) auto;
    align-content: center;
  }

  .tribe-button > span:last-child {
    padding-top: 1px;
  }
}

/* Mobile baixo: aumenta muito a tolerância de redução. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 760px) {
  :root {
    --header-h: clamp(72px, 13dvh, 96px);
    --nav-h: clamp(126px, 22dvh, 166px);
    --footer-h: clamp(16px, 2.8dvh, 22px);
    --logo-w: clamp(82px, 25vw, 118px);
    --icon-size: clamp(42px, min(15vw, 8.4dvh), 60px);
  }

  .site-shell {
    grid-template-rows:
      var(--header-h)
      minmax(0, 1fr)
      var(--nav-h)
      var(--footer-h);
  }

  .showcase {
    margin-top: calc(var(--header-h) * -.12);
  }

  .tribe-card {
    height: clamp(82px, 14.5dvh, 112px);
    padding:
      clamp(9px, 1.8dvh, 15px)
      clamp(10px, 3vw, 18px)
      clamp(17px, 3dvh, 25px)
      clamp(56px, 16vw, 72px);
  }

  .tribe-emblem {
    left: clamp(9px, 3vw, 16px);
    width: clamp(38px, 11vw, 48px);
    height: clamp(38px, 11vw, 48px);
  }

  .tribe-card h1 {
    font-size: clamp(.88rem, 4.2vw, 1.15rem);
    margin-bottom: 3px;
  }

  .tribe-card p {
    font-size: clamp(.56rem, 2.55vw, .72rem);
    line-height: 1.16;
  }

  .tribe-nav {
    margin-top: clamp(-18px, -2.4dvh, -11px);
    padding:
      clamp(22px, 3.5dvh, 30px)
      clamp(8px, 2.5vw, 14px)
      clamp(3px, .8dvh, 7px);
    gap: clamp(3px, .8dvh, 7px) clamp(5px, 2vw, 10px);
  }

  .tribe-button {
    font-size: 12px;
    gap: 2px;
  }
}

/* Mobile ainda menor: 10 px e discos menores, sem sobreposição. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 640px) {
  :root {
    --header-h: 68px;
    --nav-h: clamp(104px, 19dvh, 126px);
    --footer-h: 16px;
    --logo-w: 82px;
    --icon-size: clamp(34px, min(13vw, 7.2dvh), 46px);
  }

  .tribe-card {
    height: clamp(68px, 12.5dvh, 86px);
    padding-top: 6px;
    padding-bottom: 14px;
  }

  .tribe-card h1 {
    font-size: .86rem;
  }

  .tribe-card p {
    font-size: .54rem;
    line-height: 1.1;
  }

  .eyebrow {
    display: none;
  }

  .tribe-nav {
    padding-top: 18px;
    padding-bottom: 2px;
  }

  .tribe-button {
    font-size: 10px;
    line-height: 1;
    gap: 1px;
  }

  .scene-caption strong {
    font-size: clamp(.66rem, 3.4vw, .88rem);
  }

  .scene-caption span {
    font-size: clamp(.46rem, 2.25vw, .62rem);
  }
}

/* Janela extremamente baixa: ainda tenta comprimir antes da rolagem. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 540px) {
  :root {
    --header-h: 58px;
    --nav-h: 92px;
    --footer-h: 14px;
    --logo-w: 68px;
    --icon-size: 32px;
  }

  .tribe-card {
    height: 61px;
    padding-left: 48px;
    padding-right: 6px;
    padding-bottom: 10px;
  }

  .tribe-emblem {
    width: 31px;
    height: 31px;
    left: 7px;
  }

  .tribe-card h1 {
    font-size: .72rem;
    margin-bottom: 1px;
  }

  .tribe-card p {
    font-size: .48rem;
    line-height: 1.05;
  }

  .tribe-nav {
    margin-top: -8px;
    padding-top: 13px;
    padding-inline: 5px;
    gap: 1px 4px;
  }

  .tribe-button {
    font-size: 10px;
  }

  .footer-runes {
    font-size: 7px;
  }
}

/*
  Scrollbar apenas em uma condição realmente extrema.
  O limite anterior era alto demais e interrompia a compressão cedo.
*/
@media (max-width: 320px) and (max-height: 430px) {
  body {
    overflow-y: auto;
  }

  .site-shell {
    height: auto;
    min-height: 100dvh;
    grid-template-rows: 54px minmax(290px, 1fr) 90px 14px;
  }
}

/* =========================================================
   CORREÇÃO: ÍCONES NUNCA PODEM SOBREPOR OS NOMES
   ========================================================= */

/* Cada botão sempre tem duas áreas distintas: ícone e legenda. */
.tribe-button {
  display: grid !important;
  grid-template-rows: auto minmax(12px, auto) !important;
  justify-items: center;
  align-items: center;
  align-content: center;
}

.tribe-button .icon-disc {
  margin: 0;
}

.tribe-button > span:last-child {
  display: block;
  margin: 0;
  padding: 0;
  min-height: 12px;
  max-width: 100%;
  text-align: center;
  white-space: nowrap;
  line-height: 1.08;
}

/* A navegação inferior passa a alinhar tudo pelo topo do próprio grid do botão,
   em vez de deixar o ícone invadir o espaço reservado ao texto. */
.tribe-nav {
  align-items: stretch;
}
.tribe-button {
  height: 100%;
}

/* Ajuste base: um pouco menos de ícone e um pouco mais de respiro vertical. */
.icon-disc {
  width: calc(var(--icon-size) * .92);
  height: calc(var(--icon-size) * .92);
}

/* Altura intermediária: diminui ícones antes de qualquer chance de colisão. */
@media (max-height: 760px) {
  .icon-disc {
    width: calc(var(--icon-size) * .88);
    height: calc(var(--icon-size) * .88);
  }
  .tribe-button > span:last-child {
    min-height: 11px;
  }
}

/* Mobile em retrato: define espaço mínimo por botão e reduz ícones antes. */
@media (max-width: 700px) and (orientation: portrait) {
  .tribe-nav {
    align-items: stretch;
  }

  .tribe-button {
    min-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    grid-template-rows: auto minmax(12px, auto) !important;
    gap: 3px !important;
  }

  .tribe-button > span:last-child {
    min-height: 12px;
  }

  .icon-disc {
    width: calc(var(--icon-size) * .84);
    height: calc(var(--icon-size) * .84);
  }
}

/* Mobile mais baixo: a prioridade é preservar leitura do nome sem sobreposição. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 760px) {
  .tribe-button {
    gap: 2px !important;
    font-size: 12px !important;
  }
  .tribe-button > span:last-child {
    min-height: 12px;
    line-height: 1;
  }
  .icon-disc {
    width: calc(var(--icon-size) * .78);
    height: calc(var(--icon-size) * .78);
  }
}

/* Faixa menor: reduz mais o ícone e garante uma linha livre para o nome. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 640px) {
  .tribe-button {
    gap: 1px !important;
    font-size: 10px !important;
    grid-template-rows: auto 12px !important;
  }

  .tribe-button > span:last-child {
    min-height: 12px;
    height: 12px;
    line-height: 12px;
  }

  .icon-disc {
    width: calc(var(--icon-size) * .72);
    height: calc(var(--icon-size) * .72);
  }
}

/* Faixa extrema: último estágio antes de precisar de rolagem. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 540px) {
  .tribe-button {
    gap: 0 !important;
    font-size: 10px !important;
    grid-template-rows: auto 11px !important;
  }

  .tribe-button > span:last-child {
    min-height: 11px;
    height: 11px;
    line-height: 11px;
  }

  .icon-disc {
    width: calc(var(--icon-size) * .64);
    height: calc(var(--icon-size) * .64);
  }
}

/* =========================================================
   ANEL INTERNO DE SELEÇÃO
   Não cresce para fora e não invade o nome da tribo.
   ========================================================= */
.icon-disc {
  outline: none !important;
  outline-offset: 0 !important;
  transform: none;
}
.icon-disc::after {
  content: "";
  position: absolute;
  inset: clamp(3px, .45vmin, 6px);
  border: 0 solid transparent;
  border-radius: 50%;
  pointer-events: none;
}
.tribe-button:hover .icon-disc,
.tribe-button:focus-visible .icon-disc,
.tribe-button.is-active .icon-disc {
  outline: none !important;
  transform: scale(1.02);
}
.tribe-button:hover .icon-disc::after,
.tribe-button:focus-visible .icon-disc::after,
.tribe-button.is-active .icon-disc::after {
  border-width: clamp(2px, .32vmin, 4px);
  border-color: var(--yellow-bright);
  box-shadow: inset 0 0 0 2px #050505;
}

/* =========================================================
   SLIDES AUTOMÁTICOS
   ========================================================= */
.slide-arrow {
  position: absolute;
  z-index: 5;
  top: 50%;
  translate: 0 -50%;
  width: clamp(34px, 4.5vmin, 58px);
  height: clamp(34px, 4.5vmin, 58px);
  display: grid;
  place-items: center;
  padding: 0 0 .12em;
  border: 2px solid var(--yellow);
  border-radius: 50%;
  background: rgba(5,5,5,.72);
  color: var(--yellow);
  font-size: clamp(1.5rem, 4vmin, 3rem);
  line-height: 1;
  cursor: pointer;
}
.slide-arrow-left { left: clamp(8px, 1.8vw, 24px); }
.slide-arrow-right { right: clamp(8px, 1.8vw, 24px); }

.slide-arrow:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.slide-status {
  position: absolute;
  z-index: 4;
  right: clamp(8px, 1.4vw, 20px);
  bottom: clamp(7px, 1.4dvh, 18px);
  color: rgba(255,255,255,.8);
  font-size: clamp(.56rem, min(.8vw, 1.3dvh), .8rem);
}
.scene-dots {
  z-index: 4;
}
.slide-dot {
  width: clamp(7px, 1.25vmin, 12px);
  height: clamp(7px, 1.25vmin, 12px);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.58);
  cursor: pointer;
}
.slide-dot.active {
  background: var(--yellow);
}

@media (max-width: 700px) and (orientation: portrait) {
  .slide-arrow {
    width: clamp(30px, 10vw, 42px);
    height: clamp(30px, 10vw, 42px);
    font-size: clamp(1.25rem, 8vw, 2rem);
  }
  .slide-status {
    display: none;
  }
}

/* Em janelas muito baixas, as setas também encolhem. */
@media (max-height: 540px) {
  .slide-arrow {
    width: 28px;
    height: 28px;
    font-size: 1.25rem;
  }
}

/* =========================================================
   CONTROLE DE SLIDES APENAS POR BOLINHAS
   ========================================================= */
.slide-arrow {
  display: none !important;
}

.scene-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(5px, .55vmin, 8px);
}

.slide-dot {
  width: clamp(6px, .75vmin, 9px);
  height: clamp(6px, .75vmin, 9px);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.58);
  cursor: pointer;
  transition: width .16s ease, height .16s ease, background-color .16s ease;
}

.slide-dot.active {
  width: clamp(9px, 1.05vmin, 13px);
  height: clamp(9px, 1.05vmin, 13px);
  background: var(--yellow);
}

.slide-dot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

@media (max-height: 540px) {
  .slide-dot {
    width: 5px;
    height: 5px;
  }

  .slide-dot.active {
    width: 8px;
    height: 8px;
  }
}

/* =========================================================
   BARRAS PROCEDURAIS DE RUNAS — CONTORNO SUPERIOR
   ========================================================= */

.rune-strip {
  --rune-size: clamp(9px, min(.85vw, 1.55dvh), 14px);
  --rune-gap: clamp(7px, .85vw, 15px);

  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  background: transparent !important;
  box-shadow: none !important;
  z-index: 4;
}

.rune-strip__item {
  position: absolute;
  width: var(--rune-size);
  height: var(--rune-size);
  display: grid;
  place-items: center;
  transform-origin: center center;
  background: transparent;
}

.rune-strip__item img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: transparent;
  user-select: none;
  -webkit-user-drag: none;
  filter: none;
}

/* A barra superior acompanha o contorno inferior do cabeçalho. */
.rune-strip-top {
  inset: 0;
}

/* Faixa amarela atrás das runas do contorno inferior do topo */
.rune-strip-top::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background-color: var(--yellow);
  background-image: url("texturas%20do%20site/textura-base-janelas-linho-amarelo.png");
  background-repeat: repeat;
  background-size: 256px 256px;
  background-position: center;
  clip-path: polygon(
    0 66.8%,
    28% 66.8%,
    34% 80.8%,
    45% 80.8%,
    50% 92.8%,
    55% 80.8%,
    66% 80.8%,
    72% 66.8%,
    100% 66.8%,
    100% 74%,
    72% 74%,
    66% 88%,
    55% 88%,
    50% 100%,
    45% 88%,
    34% 88%,
    28% 74%,
    0 74%
  );
}

.rune-strip-top .rune-strip__item {
  z-index: 1;
}

.rune-strip-top .rune-strip__item img {
  filter: brightness(0) saturate(100%) !important;
}

@media (max-width: 700px) and (orientation: portrait) {
  .rune-strip-top::before {
    clip-path: polygon(
      0 68.8%,
      38% 68.8%,
      50% 92.8%,
      62% 68.8%,
      100% 68.8%,
      100% 76%,
      62% 76%,
      50% 100%,
      38% 76%,
      0 76%
    );
  }
}

/* O rodapé continua sendo linha normal da grade. */
.footer-runes {
  position: relative;
  z-index: 3;

  width: 100%;
  height: var(--footer-h);
  min-height: 0;
  padding: 0;
  margin: 0;
  overflow: hidden;

  border-top: 2px solid var(--yellow);

  background:
    linear-gradient(rgba(5,5,5,.98), rgba(5,5,5,.98)),
    repeating-linear-gradient(45deg,#000 0 7px,#171717 7px 10px);
}

.rune-strip-bottom {
  inset: 0;
}

/* Ajustes fluidos */
@media (max-width: 1120px), (max-height: 720px) {
  .rune-strip {
    --rune-size: clamp(8px, min(.75vw, 1.35dvh), 12px);
    --rune-gap: clamp(6px, .68vw, 11px);
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  .rune-strip {
    --rune-size: clamp(7px, 1.8vw, 10px);
    --rune-gap: clamp(5px, 1.45vw, 8px);
  }
}

@media (min-width: 701px) and (max-height: 590px) {
  .rune-strip {
    --rune-size: 9px;
    --rune-gap: 7px;
  }
}

/* =========================================================
   TEXTURA BASE DAS JANELAS DE COURO PRETO
   Arquivo tilável em ambas as direções.
   ========================================================= */

:root {
  --black-leather-texture:
    url("texturas%20do%20site/textura-base-janelas-couro-preto.png");
}

/* Menu superior */
.brand-panel {
  background-image:
    linear-gradient(rgba(0,0,0,.20), rgba(0,0,0,.20)),
    var(--black-leather-texture) !important;
  background-repeat: repeat, repeat !important;
  background-size: auto, clamp(360px, 34vw, 720px) auto !important;
  background-position: center, 0 0 !important;
}

/* Menu inferior com os ícones das tribos */
.tribe-nav {
  background-image:
    linear-gradient(rgba(0,0,0,.16), rgba(0,0,0,.16)),
    var(--black-leather-texture) !important;
  background-repeat: repeat, repeat !important;
  background-size: auto, clamp(320px, 30vw, 640px) auto !important;
  background-position: center, 0 0 !important;
}

/* Barra inferior de runas */
.footer-runes {
  background-image:
    linear-gradient(rgba(0,0,0,.18), rgba(0,0,0,.18)),
    var(--black-leather-texture) !important;
  background-repeat: repeat, repeat !important;
  background-size: auto, clamp(280px, 26vw, 560px) auto !important;
  background-position: center, 0 0 !important;
}

/* Mantém a textura discreta em telas menores, sem virar ruído visual. */
@media (max-width: 700px) {
  .brand-panel {
    background-size: auto, 420px auto !important;
  }

  .tribe-nav {
    background-size: auto, 360px auto !important;
  }

  .footer-runes {
    background-size: auto, 300px auto !important;
  }
}

/* =========================================================
   COURO PRETO ESCURO + COSTURA MOSTARDA PROCEDURAL
   ========================================================= */

:root {
  --black-leather-texture-dark:
    url("texturas%20do%20site/textura-base-janelas-couro-preto-escuro.png");
  --stitch-horizontal-texture:
    url("texturas%20do%20site/Costura%20horizontal%20mostarda/favicon-linha-costura-mostarda.svg");
}

/* Partes que ainda ficavam com preto muito sólido agora recebem
   uma textura de couro preto mais escura e sutil. */
html,
body,
.site-shell,
.showcase,
.scene-wrap {
  background-image:
    linear-gradient(rgba(0,0,0,.16), rgba(0,0,0,.16)),
    var(--black-leather-texture-dark) !important;
  background-repeat: repeat, repeat !important;
  background-size: auto, clamp(280px, 24vw, 560px) auto !important;
  background-position: center, 0 0 !important;
}

/* Remove as linhas sólidas amarelas principais. */
.brand-panel,
.tribe-nav,
.footer-runes {
  border-top: 0 !important;
  border-bottom: 0 !important;
}

/* Costura no limite inferior do menu superior. */
.brand-panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  clip-path: inherit;
  background-image: var(--stitch-horizontal-texture);
  background-repeat: repeat-x;
  background-size: auto clamp(14px, 1.65dvh, 18px);
  background-position: left calc(100% - 1px);
}

/* Costura no limite superior do menu inferior com ícones. */
.tribe-nav::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
  clip-path: inherit;
  background-image: var(--stitch-horizontal-texture);
  background-repeat: repeat-x;
  background-size: auto clamp(14px, 1.65dvh, 18px);
  background-position: left 0;
}

/* Costura no topo do rodapé inferior. */
.footer-runes::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: clamp(14px, 1.65dvh, 18px);
  pointer-events: none;
  z-index: 2;
  background-image: var(--stitch-horizontal-texture);
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: left top;
}

/* Em janelas menores, a costura fica um pouco mais discreta. */
@media (max-width: 700px), (max-height: 620px) {
  .brand-panel::before,
  .tribe-nav::before,
  .footer-runes::before {
    background-size: auto clamp(12px, 1.45dvh, 15px);
  }

  html,
  body,
  .site-shell,
  .showcase,
  .scene-wrap {
    background-size: auto, 360px auto !important;
  }
}

/* =========================================================
   TRANSIÇÃO FINAL ENTRE FOTO E PAINEL AMARELO
   Baseada na referência aprovada.
   ========================================================= */

.showcase {
  position: relative;
  isolation: isolate;
}

/* Preserve the real slide photo without any overlay darkening it. */
.scene-wrap {
  position: relative;
  z-index: 1;
  background: transparent !important;
  background-image: none !important;
}

.scene-image {
  position: relative;
  z-index: 1;
  opacity: 1 !important;
  filter: none !important;
}

/* Remove the old diagonal stripe block entirely. */
.tribe-card::before {
  display: none !important;
}

/* Desktop:
   solid mustard-yellow on the right,
   fading only through transparency toward the photo. */
.tribe-card {
  position: relative;
  z-index: 2;
  overflow: visible !important;
  isolation: isolate;

  background-color: transparent !important;
  background-image:
    linear-gradient(
      90deg,
      rgba(243,179,0,0) 0%,
      rgba(243,179,0,.11) 10%,
      rgba(243,179,0,.27) 22%,
      rgba(243,179,0,.50) 38%,
      rgba(243,179,0,.72) 56%,
      rgba(243,179,0,.88) 76%,
      rgba(243,179,0,.96) 100%
    ) !important;
  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: center !important;
}

/* Soft yellow haze at the edge, never black. */
.tribe-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;

  top: 0;
  bottom: 0;
  left: clamp(-120px, -8.5vw, -72px);
  width: clamp(170px, 15vw, 270px);

  background:
    radial-gradient(
      ellipse at 78% 50%,
      rgba(243,179,0,.27) 0%,
      rgba(243,179,0,.17) 33%,
      rgba(243,179,0,.07) 58%,
      rgba(243,179,0,.02) 72%,
      rgba(243,179,0,0) 84%
    );

  filter: blur(clamp(7px, 1vw, 15px));
}

/* Text and icon always remain above the transition. */
.tribe-card > * {
  position: relative;
  z-index: 5;
}

/* Procedural rune layer spanning both image and panel. */
.rune-transition-field {
  position: absolute;
  z-index: 4;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

/* Confine the particles to a narrow transition zone. */
.rune-particle {
  position: absolute;
  display: block;

  width: var(--particle-size, 12px);
  height: var(--particle-size, 12px);

  opacity: var(--particle-opacity, .6);

  transform:
    translate(-50%, -50%)
    rotate(var(--particle-rotation, 0deg))
    scale(var(--particle-scale, 1));

  transform-origin: center;
  filter: blur(var(--particle-blur, 0px));
}

.rune-particle img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  user-select: none;
  -webkit-user-drag: none;
}

.rune-particle.is-fragment {
  clip-path: polygon(0 0, 100% 8%, 76% 44%, 100% 100%, 20% 88%, 0 40%);
}

/* Stacked/mobile:
   solid mustard-yellow at bottom,
   fading only through transparency upward into photo. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    background-image:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.10) 10%,
        rgba(243,179,0,.25) 23%,
        rgba(243,179,0,.48) 39%,
        rgba(243,179,0,.70) 58%,
        rgba(243,179,0,.87) 78%,
        rgba(243,179,0,.96) 100%
      ) !important;
  }

  .tribe-card::after {
    top: clamp(-88px, -10dvh, -54px);
    bottom: auto;
    left: 0;
    right: 0;
    width: 100%;
    height: clamp(125px, 17dvh, 210px);

    background:
      radial-gradient(
        ellipse at 50% 78%,
        rgba(243,179,0,.26) 0%,
        rgba(243,179,0,.15) 34%,
        rgba(243,179,0,.06) 58%,
        rgba(243,179,0,.018) 72%,
        rgba(243,179,0,0) 84%
      );
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  .rune-particle {
    max-width: 14px;
    max-height: 14px;
  }
}

/* =========================================================
   TRANSPARÊNCIA REAL DO PAINEL
   A fotografia ocupa toda a área e continua atrás da descrição.
   ========================================================= */

/* A imagem e o painel agora ocupam a mesma área. */
.showcase {
  position: relative !important;
  display: block !important;
  overflow: hidden !important;
  background: transparent !important;
  background-image: none !important;
}

/* A fotografia cobre toda a largura e altura disponível. */
.scene-wrap {
  position: absolute !important;
  z-index: 1 !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: transparent !important;
  background-image: none !important;
}

.scene-image {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  filter: none !important;
}

/* Legenda e indicadores permanecem sobre a fotografia. */
.scene-caption,
.scene-dots,
.slide-status {
  z-index: 6 !important;
}

/* Desktop: painel sobreposto à direita da foto. */
.tribe-card {
  position: absolute !important;
  z-index: 3 !important;

  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  left: auto !important;

  width: clamp(270px, 28%, 470px) !important;
  height: auto !important;
  min-height: 0 !important;

  overflow: visible !important;
  isolation: isolate;

  /* O amarelo não muda de cor. Só muda a opacidade. */
  background-color: transparent !important;
  background-image:
    linear-gradient(
      90deg,
      rgba(243,179,0,0) 0%,
      rgba(243,179,0,.015) 8%,
      rgba(243,179,0,.05) 16%,
      rgba(243,179,0,.13) 27%,
      rgba(243,179,0,.28) 42%,
      rgba(243,179,0,.50) 60%,
      rgba(243,179,0,.72) 78%,
      rgba(243,179,0,.90) 92%,
      rgba(243,179,0,.96) 100%
    ) !important;

  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  background-position: center !important;
}

/* A névoa também é exclusivamente amarela e transparente. */
.tribe-card::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;

  top: 0;
  bottom: 0;
  left: clamp(-135px, -9vw, -78px);
  width: clamp(190px, 17vw, 310px);

  background:
    radial-gradient(
      ellipse at 84% 50%,
      rgba(243,179,0,.20) 0%,
      rgba(243,179,0,.11) 30%,
      rgba(243,179,0,.045) 52%,
      rgba(243,179,0,.012) 68%,
      rgba(243,179,0,0) 84%
    ) !important;

  filter: blur(clamp(11px, 1.5vw, 24px)) !important;
  opacity: 1 !important;
}

/* Não existe linha física na borda do painel. */
.tribe-card {
  border: 0 !important;
  box-shadow: none !important;
}

/* O campo de runas continua sobre imagem e painel. */
.rune-transition-field {
  position: absolute !important;
  z-index: 5 !important;
  inset: 0 !important;
}

/* Layout empilhado/mobile:
   foto ocupa tudo, painel sobreposto embaixo e dissolve para cima. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .showcase {
    display: block !important;
  }

  .scene-wrap {
    position: absolute !important;
    inset: 0 !important;
  }

  .tribe-card {
    top: auto !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    width: 100% !important;
    height: clamp(118px, 22dvh, 210px) !important;

    padding:
      clamp(22px, 3.4dvh, 36px)
      clamp(18px, 5vw, 30px)
      clamp(28px, 4.5dvh, 44px)
      clamp(74px, 18vw, 100px) !important;

    background-image:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.015) 8%,
        rgba(243,179,0,.05) 17%,
        rgba(243,179,0,.14) 29%,
        rgba(243,179,0,.30) 44%,
        rgba(243,179,0,.52) 61%,
        rgba(243,179,0,.74) 79%,
        rgba(243,179,0,.94) 100%
      ) !important;

    clip-path: polygon(
      0 0,
      100% 0,
      100% 82%,
      58% 82%,
      50% 100%,
      42% 82%,
      0 82%
    ) !important;
  }

  .tribe-card::after {
    top: clamp(-105px, -13dvh, -66px);
    right: 0;
    bottom: auto;
    left: 0;

    width: 100%;
    height: clamp(165px, 23dvh, 270px);

    background:
      radial-gradient(
        ellipse at 50% 86%,
        rgba(243,179,0,.21) 0%,
        rgba(243,179,0,.11) 31%,
        rgba(243,179,0,.04) 54%,
        rgba(243,179,0,.011) 69%,
        rgba(243,179,0,0) 85%
      ) !important;

    filter: blur(clamp(10px, 2.2vw, 20px)) !important;
  }

  /* Reposiciona a legenda da foto para não ficar atrás da descrição. */
  .scene-caption {
    bottom: calc(clamp(118px, 22dvh, 210px) + clamp(12px, 2dvh, 24px)) !important;
  }

  .scene-dots {
    bottom: calc(clamp(118px, 22dvh, 210px) + clamp(8px, 1.3dvh, 16px)) !important;
  }

  .slide-status {
    bottom: calc(clamp(118px, 22dvh, 210px) + 8px) !important;
  }
}

/* Mobile muito baixo: painel reduz sem deixar de sobrepor a foto. */
@media (max-width: 700px) and (orientation: portrait) and (max-height: 640px) {
  .tribe-card {
    height: clamp(88px, 18dvh, 126px) !important;
  }

  .scene-caption {
    bottom: calc(clamp(88px, 18dvh, 126px) + 10px) !important;
  }

  .scene-dots {
    bottom: calc(clamp(88px, 18dvh, 126px) + 7px) !important;
  }
}

/* =========================================================
   AJUSTE DA CURVA DE OPACIDADE DO PAINEL AMARELO
   Mais amarelo sólido; transparência somente junto às runas.
   ========================================================= */

/* Desktop:
   o painel permanece perto de 90% de opacidade por uma área maior.
   A perda de opacidade fica concentrada na borda esquerda. */
.tribe-card {
  background-image:
    linear-gradient(
      90deg,
      rgba(243,179,0,0) 0%,
      rgba(243,179,0,.025) 6%,
      rgba(243,179,0,.08) 11%,
      rgba(243,179,0,.22) 17%,
      rgba(243,179,0,.45) 24%,
      rgba(243,179,0,.68) 32%,
      rgba(243,179,0,.84) 41%,
      rgba(243,179,0,.90) 50%,
      rgba(243,179,0,.92) 68%,
      rgba(243,179,0,.94) 84%,
      rgba(243,179,0,.96) 100%
    ) !important;
}

/* A névoa acompanha somente a região das runas,
   sem espalhar transparência por todo o painel. */
.tribe-card::after {
  left: clamp(-104px, -7vw, -62px) !important;
  width: clamp(155px, 13vw, 235px) !important;

  background:
    radial-gradient(
      ellipse at 88% 50%,
      rgba(243,179,0,.24) 0%,
      rgba(243,179,0,.14) 28%,
      rgba(243,179,0,.055) 50%,
      rgba(243,179,0,.014) 66%,
      rgba(243,179,0,0) 82%
    ) !important;

  filter: blur(clamp(9px, 1.15vw, 18px)) !important;
}

/* Mobile:
   a maior parte inferior permanece sólida.
   A transparência fica concentrada no topo, junto às runas. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    background-image:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.03) 6%,
        rgba(243,179,0,.09) 11%,
        rgba(243,179,0,.23) 17%,
        rgba(243,179,0,.46) 24%,
        rgba(243,179,0,.69) 32%,
        rgba(243,179,0,.85) 41%,
        rgba(243,179,0,.91) 51%,
        rgba(243,179,0,.93) 70%,
        rgba(243,179,0,.96) 100%
      ) !important;
  }

  .tribe-card::after {
    top: clamp(-78px, -9dvh, -50px) !important;
    height: clamp(130px, 18dvh, 220px) !important;

    background:
      radial-gradient(
        ellipse at 50% 90%,
        rgba(243,179,0,.24) 0%,
        rgba(243,179,0,.13) 29%,
        rgba(243,179,0,.05) 51%,
        rgba(243,179,0,.013) 67%,
        rgba(243,179,0,0) 83%
      ) !important;
  }
}

/* =========================================================
   AJUSTE FINAL — AMARELO MAIS SÓLIDO
   Aproximadamente 70% da área permanece sólida antes da transição.
   ========================================================= */

/* Desktop: a opacidade alta ocupa bem mais área.
   A dissolução fica concentrada só na faixa esquerda perto das runas. */
.tribe-card {
  background-image:
    linear-gradient(
      90deg,
      rgba(243,179,0,0) 0%,
      rgba(243,179,0,.02) 5%,
      rgba(243,179,0,.06) 9%,
      rgba(243,179,0,.14) 14%,
      rgba(243,179,0,.28) 20%,
      rgba(243,179,0,.46) 26%,
      rgba(243,179,0,.66) 32%,
      rgba(243,179,0,.82) 38%,
      rgba(243,179,0,.89) 44%,
      rgba(243,179,0,.91) 52%,
      rgba(243,179,0,.92) 62%,
      rgba(243,179,0,.93) 72%,
      rgba(243,179,0,.94) 84%,
      rgba(243,179,0,.96) 100%
    ) !important;
}

/* A névoa/blur fica mais estreita e mais perto das runas,
   para não "lavar" a parte sólida. */
.tribe-card::after {
  left: clamp(-92px, -6.1vw, -54px) !important;
  width: clamp(132px, 11vw, 205px) !important;

  background:
    radial-gradient(
      ellipse at 90% 50%,
      rgba(243,179,0,.22) 0%,
      rgba(243,179,0,.12) 26%,
      rgba(243,179,0,.046) 46%,
      rgba(243,179,0,.012) 62%,
      rgba(243,179,0,0) 78%
    ) !important;

  filter: blur(clamp(8px, 1vw, 15px)) !important;
}

/* Mobile: mantém a maior parte inferior sólida,
   concentrando a transição transparente só perto do topo. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    background-image:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.02) 5%,
        rgba(243,179,0,.06) 9%,
        rgba(243,179,0,.15) 14%,
        rgba(243,179,0,.29) 20%,
        rgba(243,179,0,.47) 26%,
        rgba(243,179,0,.67) 32%,
        rgba(243,179,0,.83) 38%,
        rgba(243,179,0,.89) 44%,
        rgba(243,179,0,.91) 52%,
        rgba(243,179,0,.92) 62%,
        rgba(243,179,0,.93) 72%,
        rgba(243,179,0,.95) 84%,
        rgba(243,179,0,.96) 100%
      ) !important;
  }

  .tribe-card::after {
    top: clamp(-70px, -8.2dvh, -44px) !important;
    height: clamp(118px, 16dvh, 190px) !important;

    background:
      radial-gradient(
        ellipse at 50% 92%,
        rgba(243,179,0,.22) 0%,
        rgba(243,179,0,.12) 26%,
        rgba(243,179,0,.046) 46%,
        rgba(243,179,0,.012) 62%,
        rgba(243,179,0,0) 78%
      ) !important;
  }
}

/* =========================================================
   AJUSTE MAIS FORTE — AMARELO SÓLIDO EM ~90% DA ÁREA
   A transparência começa praticamente na margem do parágrafo.
   ========================================================= */

/* Desktop: amarelo muito mais dominante.
   Mantém opacidade alta até perto da área onde o parágrafo começa. */
.tribe-card {
  background-image:
    linear-gradient(
      90deg,
      rgba(243,179,0,0) 0%,
      rgba(243,179,0,.018) 7%,
      rgba(243,179,0,.05) 11%,
      rgba(243,179,0,.12) 16%,
      rgba(243,179,0,.24) 21%,
      rgba(243,179,0,.42) 27%,
      rgba(243,179,0,.64) 34%,
      rgba(243,179,0,.82) 42%,
      rgba(243,179,0,.90) 50%,
      rgba(243,179,0,.93) 60%,
      rgba(243,179,0,.945) 72%,
      rgba(243,179,0,.955) 84%,
      rgba(243,179,0,.965) 100%
    ) !important;
}

/* A névoa fica mais estreita e colada à faixa de runas,
   para que o miolo do painel permaneça sólido por mais tempo. */
.tribe-card::after {
  left: clamp(-82px, -5.2vw, -46px) !important;
  width: clamp(114px, 9vw, 176px) !important;

  background:
    radial-gradient(
      ellipse at 92% 50%,
      rgba(243,179,0,.22) 0%,
      rgba(243,179,0,.115) 24%,
      rgba(243,179,0,.042) 42%,
      rgba(243,179,0,.011) 57%,
      rgba(243,179,0,0) 72%
    ) !important;

  filter: blur(clamp(7px, 0.9vw, 13px)) !important;
}

/* Mobile: mantém quase toda a área do painel sólida,
   e a transparência fica concentrada apenas perto do topo. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    background-image:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.018) 7%,
        rgba(243,179,0,.05) 11%,
        rgba(243,179,0,.12) 16%,
        rgba(243,179,0,.24) 21%,
        rgba(243,179,0,.42) 27%,
        rgba(243,179,0,.64) 34%,
        rgba(243,179,0,.82) 42%,
        rgba(243,179,0,.90) 50%,
        rgba(243,179,0,.93) 60%,
        rgba(243,179,0,.945) 72%,
        rgba(243,179,0,.955) 84%,
        rgba(243,179,0,.965) 100%
      ) !important;
  }

  .tribe-card::after {
    top: clamp(-58px, -6.6dvh, -34px) !important;
    height: clamp(98px, 13dvh, 150px) !important;

    background:
      radial-gradient(
        ellipse at 50% 94%,
        rgba(243,179,0,.22) 0%,
        rgba(243,179,0,.115) 24%,
        rgba(243,179,0,.042) 42%,
        rgba(243,179,0,.011) 57%,
        rgba(243,179,0,0) 72%
      ) !important;
  }
}

/* =========================================================
   AJUSTE DE POSIÇÃO DO DEGRADÊ
   O amarelo forte começa mais à esquerda,
   aproximadamente na faixa marcada em vermelho pelo usuário.
   ========================================================= */

/* Desktop:
   o painel chega em alta opacidade muito antes.
   A faixa de transição acontece mais à esquerda e é mais curta. */
.tribe-card {
  background-image:
    linear-gradient(
      90deg,
      rgba(243,179,0,0) 0%,
      rgba(243,179,0,.025) 4%,
      rgba(243,179,0,.08) 7%,
      rgba(243,179,0,.18) 10%,
      rgba(243,179,0,.34) 13%,
      rgba(243,179,0,.56) 16%,
      rgba(243,179,0,.76) 20%,
      rgba(243,179,0,.87) 24%,
      rgba(243,179,0,.91) 28%,
      rgba(243,179,0,.93) 36%,
      rgba(243,179,0,.945) 52%,
      rgba(243,179,0,.955) 72%,
      rgba(243,179,0,.965) 100%
    ) !important;
}

/* A névoa também é deslocada levemente para a esquerda,
   para casar com o novo início da área sólida. */
.tribe-card::after {
  left: clamp(-96px, -6vw, -58px) !important;
  width: clamp(126px, 10vw, 192px) !important;

  background:
    radial-gradient(
      ellipse at 88% 50%,
      rgba(243,179,0,.24) 0%,
      rgba(243,179,0,.125) 24%,
      rgba(243,179,0,.05) 42%,
      rgba(243,179,0,.014) 58%,
      rgba(243,179,0,0) 74%
    ) !important;

  filter: blur(clamp(8px, 1vw, 14px)) !important;
}

/* Mobile:
   mesmo princípio — a área amarela mais sólida sobe mais cedo,
   deixando a transição concentrada perto do topo. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    background-image:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.025) 4%,
        rgba(243,179,0,.08) 7%,
        rgba(243,179,0,.18) 10%,
        rgba(243,179,0,.34) 13%,
        rgba(243,179,0,.56) 16%,
        rgba(243,179,0,.76) 20%,
        rgba(243,179,0,.87) 24%,
        rgba(243,179,0,.91) 28%,
        rgba(243,179,0,.93) 36%,
        rgba(243,179,0,.945) 52%,
        rgba(243,179,0,.955) 72%,
        rgba(243,179,0,.965) 100%
      ) !important;
  }

  .tribe-card::after {
    top: clamp(-64px, -7.2dvh, -38px) !important;
    height: clamp(102px, 14dvh, 160px) !important;

    background:
      radial-gradient(
        ellipse at 50% 90%,
        rgba(243,179,0,.24) 0%,
        rgba(243,179,0,.125) 24%,
        rgba(243,179,0,.05) 42%,
        rgba(243,179,0,.014) 58%,
        rgba(243,179,0,0) 74%
      ) !important;
  }
}

/* =========================================================
   AJUSTE PELO GUIA VERMELHO/VERDE
   - amarelo sólido começa no limite vermelho;
   - texto permanece na posição atual;
   - runas ocupam toda a faixa verde.
   ========================================================= */

/* O próprio card fica transparente. A camada amarela é criada atrás
   dele e pode avançar para a esquerda sem deslocar o conteúdo. */
.tribe-card {
  background: none !important;
}

/* Camada amarela estendida para a esquerda.
   O amarelo permanece praticamente sólido até o limite vermelho,
   e só depois dissolve em direção à foto. */
.tribe-card::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 0 !important;
  pointer-events: none !important;

  top: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  left: clamp(-56px, -4.2vw, -34px) !important;

  width: auto !important;
  height: auto !important;

  clip-path: none !important;
  filter: none !important;

  background:
    linear-gradient(
      90deg,
      rgba(243,179,0,0) 0%,
      rgba(243,179,0,.025) 4%,
      rgba(243,179,0,.08) 8%,
      rgba(243,179,0,.18) 12%,
      rgba(243,179,0,.36) 16%,
      rgba(243,179,0,.58) 20%,
      rgba(243,179,0,.78) 24%,
      rgba(243,179,0,.89) 28%,
      rgba(243,179,0,.93) 32%,
      rgba(243,179,0,.945) 40%,
      rgba(243,179,0,.955) 58%,
      rgba(243,179,0,.965) 100%
    ) !important;
}

/* Névoa estreita somente no início da dissolução. */
.tribe-card::after {
  left: clamp(-124px, -8vw, -78px) !important;
  width: clamp(150px, 12vw, 230px) !important;

  background:
    radial-gradient(
      ellipse at 86% 50%,
      rgba(243,179,0,.23) 0%,
      rgba(243,179,0,.12) 23%,
      rgba(243,179,0,.045) 42%,
      rgba(243,179,0,.012) 58%,
      rgba(243,179,0,0) 75%
    ) !important;

  filter: blur(clamp(8px, 1vw, 15px)) !important;
}

/* Conteúdo sempre acima da camada estendida. */
.tribe-card > * {
  position: relative;
  z-index: 5;
}

/* Mobile: mesma lógica na vertical.
   A camada sobe sem mover o conteúdo. */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card::before {
    top: clamp(-42px, -5.5dvh, -26px) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;

    background:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.025) 4%,
        rgba(243,179,0,.08) 8%,
        rgba(243,179,0,.18) 12%,
        rgba(243,179,0,.36) 16%,
        rgba(243,179,0,.58) 20%,
        rgba(243,179,0,.78) 24%,
        rgba(243,179,0,.89) 28%,
        rgba(243,179,0,.93) 32%,
        rgba(243,179,0,.945) 40%,
        rgba(243,179,0,.955) 58%,
        rgba(243,179,0,.965) 100%
      ) !important;
  }

  .tribe-card::after {
    top: clamp(-102px, -12dvh, -64px) !important;
    height: clamp(138px, 19dvh, 220px) !important;
  }
}

/* =========================================================
   CORREÇÃO ESPECÍFICA DA VERSÃO MOBILE
   - remove o espaçamento inferior indevido;
   - elimina a linha horizontal visível no topo do painel;
   - mantém degradê de transparência, não de cor.
   Desktop permanece intacto.
   ========================================================= */

@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  /* O card encosta de fato no limite inferior do showcase. */
  .tribe-card {
    top: auto !important;
    right: 0 !important;
    bottom: -1px !important;
    left: 0 !important;

    width: 100% !important;
    height: clamp(132px, 26dvh, 230px) !important;

    /* Mais área útil embaixo e sem "respiro" indevido. */
    padding:
      clamp(20px, 3dvh, 32px)
      clamp(18px, 5vw, 30px)
      clamp(18px, 2.8dvh, 26px)
      clamp(74px, 18vw, 100px) !important;

    /* O elemento-base fica transparente; a cor vem da camada antes. */
    background: none !important;

    /* Forma estável, encostando embaixo; sem recortes que criem vão. */
    clip-path: polygon(
      0 0,
      100% 0,
      100% 100%,
      58% 100%,
      50% 100%,
      42% 100%,
      0 100%
    ) !important;

    overflow: visible !important;
  }

  /* Camada amarela real: sólida embaixo, dissolvendo para cima.
     Estende-se para cima para que a transição fique esfumaçada
     e não apareça a linha horizontal de corte. */
  .tribe-card::before {
    content: "" !important;
    position: absolute !important;
    z-index: 0 !important;
    pointer-events: none !important;

    top: clamp(-86px, -12dvh, -52px) !important;
    right: 0 !important;
    bottom: -1px !important;
    left: 0 !important;

    background:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.02) 8%,
        rgba(243,179,0,.07) 14%,
        rgba(243,179,0,.16) 21%,
        rgba(243,179,0,.31) 29%,
        rgba(243,179,0,.52) 39%,
        rgba(243,179,0,.72) 51%,
        rgba(243,179,0,.86) 63%,
        rgba(243,179,0,.92) 74%,
        rgba(243,179,0,.95) 84%,
        rgba(243,179,0,.965) 100%
      ) !important;

    /* Sem linha reta aparente no topo: a máscara some gradualmente. */
    filter: none !important;
    clip-path: none !important;
  }

  /* Névoa suave no topo do painel para apagar a linha de terminação. */
  .tribe-card::after {
    content: "" !important;
    position: absolute !important;
    z-index: 1 !important;
    pointer-events: none !important;

    top: clamp(-118px, -16dvh, -74px) !important;
    right: 0 !important;
    left: 0 !important;
    bottom: auto !important;

    width: 100% !important;
    height: clamp(158px, 23dvh, 255px) !important;

    background:
      radial-gradient(
        ellipse at 50% 88%,
        rgba(243,179,0,.24) 0%,
        rgba(243,179,0,.13) 28%,
        rgba(243,179,0,.055) 48%,
        rgba(243,179,0,.015) 64%,
        rgba(243,179,0,0) 82%
      ) !important;

    filter: blur(clamp(10px, 2.2vw, 18px)) !important;
  }

  /* Conteúdo acima das camadas. */
  .tribe-card > * {
    position: relative !important;
    z-index: 5 !important;
  }

  /* Legendas e dots sobem o suficiente para não brigar com o painel. */
  .scene-caption {
    bottom: calc(clamp(132px, 26dvh, 230px) + clamp(10px, 1.8dvh, 20px)) !important;
  }

  .scene-dots {
    bottom: calc(clamp(132px, 26dvh, 230px) + clamp(7px, 1.1dvh, 14px)) !important;
  }

  .slide-status {
    bottom: calc(clamp(132px, 26dvh, 230px) + 6px) !important;
  }
}

/* =========================================================
   ACABAMENTO SUPERIOR DO PAINEL MOBILE
   Referência: dissolução suave para cima, sem linha reta visível,
   com transparência real + blur, no mesmo espírito do desktop.
   ========================================================= */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  /* Mantém o painel encostado embaixo; só refina o acabamento superior. */
  .tribe-card::before {
    top: clamp(-112px, -15dvh, -72px) !important;
    right: 0 !important;
    bottom: -1px !important;
    left: 0 !important;

    /* Sem degradê de cor escura: apenas amarelo perdendo opacidade. */
    background: rgba(243,179,0,0.965) !important;

    /* A camada existe inteira, mas a máscara faz a dissolução suave. */
    -webkit-mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0.04) 9%,
      rgba(0,0,0,0.10) 16%,
      rgba(0,0,0,0.22) 24%,
      rgba(0,0,0,0.38) 33%,
      rgba(0,0,0,0.56) 44%,
      rgba(0,0,0,0.74) 57%,
      rgba(0,0,0,0.88) 71%,
      rgba(0,0,0,0.96) 84%,
      rgba(0,0,0,1) 100%
    ) !important;
    mask-image: linear-gradient(
      to bottom,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,0.04) 9%,
      rgba(0,0,0,0.10) 16%,
      rgba(0,0,0,0.22) 24%,
      rgba(0,0,0,0.38) 33%,
      rgba(0,0,0,0.56) 44%,
      rgba(0,0,0,0.74) 57%,
      rgba(0,0,0,0.88) 71%,
      rgba(0,0,0,0.96) 84%,
      rgba(0,0,0,1) 100%
    ) !important;

    filter: saturate(1.02) blur(0.35px) !important;
  }

  /* Névoa superior mais ampla e mais suave, para apagar a terminação. */
  .tribe-card::after {
    top: clamp(-138px, -18dvh, -92px) !important;
    right: -1px !important;
    left: -1px !important;
    bottom: auto !important;

    width: calc(100% + 2px) !important;
    height: clamp(188px, 27dvh, 290px) !important;

    background:
      radial-gradient(
        ellipse at 50% 92%,
        rgba(243,179,0,.24) 0%,
        rgba(243,179,0,.17) 16%,
        rgba(243,179,0,.10) 31%,
        rgba(243,179,0,.055) 46%,
        rgba(243,179,0,.024) 60%,
        rgba(243,179,0,.008) 72%,
        rgba(243,179,0,0) 86%
      ) !important;

    filter: blur(clamp(14px, 2.9vw, 24px)) !important;
  }

  /* Garante que o bloco não exponha qualquer quina dura. */
  .tribe-card {
    overflow: visible !important;
  }
}

/* =========================================================
   MOBILE — BLUR REAL DE TRANSPARÊNCIA
   Mesma lógica visual da transição desktop:
   camada muito maior, degradê de opacidade e blur aplicado
   antes da borda física do elemento.
   ========================================================= */

@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {

  /* O card continua encostado corretamente embaixo. */
  .tribe-card {
    background: none !important;
    overflow: visible !important;
    isolation: isolate !important;
  }

  /* Camada principal amarela.
     Ela começa muito acima do painel real, então o fim do fade
     acontece longe da borda física e não produz linha reta. */
  .tribe-card::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    pointer-events: none !important;

    top: clamp(-190px, -27dvh, -125px) !important;
    right: -4% !important;
    bottom: -12px !important;
    left: -4% !important;

    width: auto !important;
    height: auto !important;

    clip-path: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;

    background:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,0.008) 11%,
        rgba(243,179,0,0.025) 18%,
        rgba(243,179,0,0.06) 25%,
        rgba(243,179,0,0.13) 33%,
        rgba(243,179,0,0.24) 41%,
        rgba(243,179,0,0.39) 49%,
        rgba(243,179,0,0.57) 57%,
        rgba(243,179,0,0.73) 65%,
        rgba(243,179,0,0.85) 73%,
        rgba(243,179,0,0.92) 81%,
        rgba(243,179,0,0.955) 89%,
        rgba(243,179,0,0.97) 100%
      ) !important;

    /* O blur ocorre na camada inteira, não só numa máscara.
       Isso dissolve a terminação superior de verdade. */
    filter: blur(clamp(17px, 3.4vw, 28px)) !important;
    transform: translateZ(0) scale(1.035) !important;
    transform-origin: center bottom !important;
    opacity: 1 !important;
  }

  /* Segunda névoa, mais larga e ainda mais transparente,
     reproduzindo o halo suave usado no desktop. */
  .tribe-card::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    pointer-events: none !important;

    top: clamp(-205px, -29dvh, -138px) !important;
    right: -8% !important;
    left: -8% !important;
    bottom: auto !important;

    width: auto !important;
    height: clamp(245px, 34dvh, 370px) !important;

    background:
      radial-gradient(
        ellipse at 50% 96%,
        rgba(243,179,0,.24) 0%,
        rgba(243,179,0,.17) 18%,
        rgba(243,179,0,.105) 34%,
        rgba(243,179,0,.055) 49%,
        rgba(243,179,0,.023) 63%,
        rgba(243,179,0,.008) 75%,
        rgba(243,179,0,0) 88%
      ) !important;

    filter: blur(clamp(20px, 4.2vw, 34px)) !important;
    transform: translateZ(0) scale(1.08) !important;
    transform-origin: center bottom !important;
    opacity: 1 !important;
  }

  /* Conteúdo sempre acima das duas camadas. */
  .tribe-card > * {
    position: relative !important;
    z-index: 5 !important;
  }
}

/* Em mobile estreito, mantém o efeito amplo mesmo com pouca altura. */
@media (max-width: 700px) and (orientation: portrait) {
  .tribe-card::before {
    top: clamp(-175px, -25dvh, -115px) !important;
    filter: blur(clamp(18px, 5vw, 27px)) !important;
  }

  .tribe-card::after {
    top: clamp(-190px, -27dvh, -128px) !important;
    height: clamp(225px, 32dvh, 340px) !important;
    filter: blur(clamp(22px, 6vw, 32px)) !important;
  }
}

/* =========================================================
   MOBILE — MESMA TÉCNICA DA TRANSIÇÃO DESKTOP
   O card não recorta mais o blur. A ponta inferior é separada.
   ========================================================= */

@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    /* Este recorte era o responsável pela linha horizontal. */
    clip-path: none !important;
    overflow: visible !important;
    isolation: isolate !important;

    /* Mesmo princípio do desktop, girado para cima:
       amarelo sólido embaixo e opacidade sumindo gradualmente para cima. */
    background:
      linear-gradient(
        180deg,
        rgba(243,179,0,0) 0%,
        rgba(243,179,0,.012) 7%,
        rgba(243,179,0,.035) 12%,
        rgba(243,179,0,.08) 18%,
        rgba(243,179,0,.16) 25%,
        rgba(243,179,0,.29) 33%,
        rgba(243,179,0,.46) 42%,
        rgba(243,179,0,.64) 52%,
        rgba(243,179,0,.79) 63%,
        rgba(243,179,0,.89) 73%,
        rgba(243,179,0,.94) 82%,
        rgba(243,179,0,.96) 100%
      ) !important;
  }

  /* Névoa amarela que ultrapassa o limite físico do card.
     Como o pai não recorta mais, ela pode dissolver de verdade. */
  .tribe-card::before {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 0 !important;
    pointer-events: none !important;

    top: clamp(-150px, -21dvh, -96px) !important;
    right: -7% !important;
    bottom: auto !important;
    left: -7% !important;

    width: auto !important;
    height: clamp(200px, 29dvh, 320px) !important;

    clip-path: none !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;

    background:
      radial-gradient(
        ellipse at 50% 100%,
        rgba(243,179,0,.30) 0%,
        rgba(243,179,0,.22) 18%,
        rgba(243,179,0,.14) 34%,
        rgba(243,179,0,.075) 49%,
        rgba(243,179,0,.034) 62%,
        rgba(243,179,0,.012) 73%,
        rgba(243,179,0,0) 87%
      ) !important;

    filter: blur(clamp(18px, 4.5vw, 32px)) !important;
    transform: translateZ(0) scale(1.08) !important;
    transform-origin: center bottom !important;
    opacity: 1 !important;
  }

  /* Recria somente a ponta inferior, sem recortar o topo do painel. */
  .tribe-card::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 1 !important;
    pointer-events: none !important;

    top: auto !important;
    left: 41% !important;
    right: auto !important;
    bottom: clamp(-28px, -3.6dvh, -20px) !important;

    width: 18% !important;
    height: clamp(22px, 3.4dvh, 30px) !important;

    background: rgba(243,179,0,.96) !important;
    clip-path: polygon(0 0, 100% 0, 50% 100%) !important;

    filter: none !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .tribe-card > * {
    position: relative !important;
    z-index: 5 !important;
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  .tribe-card::before {
    top: clamp(-138px, -19dvh, -88px) !important;
    height: clamp(188px, 27dvh, 290px) !important;
    filter: blur(clamp(19px, 5.7vw, 30px)) !important;
  }
}


/* =========================================================
   AJUSTE FINO — MOBILE
   - emblema alinhado à esquerda do texto;
   - mantém o restante do layout.
   ========================================================= */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    align-items: flex-start !important;
    text-align: left !important;
  }

  .tribe-emblem {
    align-self: flex-start !important;
    justify-self: flex-start !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .tribe-card .eyebrow,
  .tribe-card h1,
  .tribe-card p {
    text-align: left !important;
    align-self: flex-start !important;
  }
}


/* =========================================================
   AJUSTE FINAL — MOBILE
   - runas um pouco maiores e menos numerosas;
   - emblema ao lado do texto, alinhado à esquerda.
   ========================================================= */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    display: grid !important;
    grid-template-columns: clamp(52px, 14vw, 72px) 1fr !important;
    grid-template-areas:
      "emblem eyebrow"
      "emblem title"
      "emblem copy" !important;
    column-gap: clamp(10px, 3vw, 16px) !important;
    row-gap: clamp(2px, 0.8vw, 7px) !important;
    align-items: start !important;
    align-content: center !important;
    justify-items: start !important;
    text-align: left !important;
  }

  .tribe-emblem {
    grid-area: emblem !important;
    align-self: start !important;
    justify-self: start !important;
    width: clamp(48px, 13vw, 68px) !important;
    height: clamp(48px, 13vw, 68px) !important;
    margin: clamp(2px, 0.6vw, 6px) 0 0 0 !important;
  }

  .tribe-card .eyebrow {
    grid-area: eyebrow !important;
    margin: 0 0 1px 0 !important;
    align-self: end !important;
    text-align: left !important;
  }

  .tribe-card h1 {
    grid-area: title !important;
    margin: 0 !important;
    text-align: left !important;
    align-self: start !important;
    line-height: .92 !important;
  }

  .tribe-card p {
    grid-area: copy !important;
    margin: 0 !important;
    max-width: none !important;
    text-align: left !important;
    align-self: start !important;
  }
}

@media (max-width: 560px) and (orientation: portrait) {
  .tribe-card {
    grid-template-columns: clamp(46px, 12vw, 60px) 1fr !important;
    column-gap: 10px !important;
  }

  .tribe-emblem {
    width: clamp(44px, 11.5vw, 56px) !important;
    height: clamp(44px, 11.5vw, 56px) !important;
  }
}


/* =========================================================
   AJUSTE EXTRA — MAIS ESPAÇO ENTRE SÍMBOLO E TEXTO NO MOBILE
   ========================================================= */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    grid-template-columns: clamp(56px, 15vw, 76px) 1fr !important;
    column-gap: clamp(16px, 4.2vw, 24px) !important;
  }

  .tribe-emblem {
    width: clamp(46px, 12.5vw, 62px) !important;
    height: clamp(46px, 12.5vw, 62px) !important;
    margin-right: 6px !important;
  }
}

@media (max-width: 560px) and (orientation: portrait) {
  .tribe-card {
    grid-template-columns: clamp(50px, 13vw, 64px) 1fr !important;
    column-gap: 14px !important;
  }

  .tribe-emblem {
    width: clamp(42px, 10.8vw, 54px) !important;
    height: clamp(42px, 10.8vw, 54px) !important;
    margin-right: 6px !important;
  }
}

/* =========================================================
   COSTURA HORIZONTAL SVG — CURTA, SUTIL E PROCEDURAL
   ========================================================= */

:root {
  --stitch-horizontal-texture:
    url("texturas%20do%20site/Costura%20horizontal%20mostarda/favicon-linha-costura-mostarda.svg");
}

/* Um ponto curto por repetição, com espaçamento visual mínimo. */
.brand-panel::before,
.tribe-nav::before,
.footer-runes::before {
  background-image: var(--stitch-horizontal-texture) !important;
  background-repeat: repeat-x !important;
  background-size: 38px 8px !important;
  image-rendering: auto;
}

/* Mantém a costura delicada mesmo quando a janela fica pequena. */
@media (max-width: 700px), (max-height: 620px) {
  .brand-panel::before,
  .tribe-nav::before,
  .footer-runes::before {
    background-size: 32px 7px !important;
  }
}


/* =========================================================
   NOVA COSTURA ENVIADA PELO USUÁRIO
   SVG 30x3 exibido um pouco mais espesso para não desaparecer.
   ========================================================= */
:root {
  --stitch-horizontal-texture:
    url("texturas%20do%20site/Costura%20horizontal%20mostarda/favicon-linha-costura-mostarda.svg");
}

.brand-panel::before,
.tribe-nav::before,
.footer-runes::before {
  background-image: var(--stitch-horizontal-texture) !important;
  background-repeat: repeat-x !important;
  background-size: 34px 5px !important;
  background-position-x: left !important;
  image-rendering: auto !important;
}

@media (max-width: 700px), (max-height: 620px) {
  .brand-panel::before,
  .tribe-nav::before,
  .footer-runes::before {
    background-size: 30px 4px !important;
  }
}


/* =========================================================
   AJUSTE FINAL DA COSTURA
   - 10% mais baixa visualmente
   - cerca de 35% menos comprimento no ponto
   - espaçamento um pouco maior entre repetições
   - sem rebarba branca nas laterais
   ========================================================= */
.brand-panel::before,
.tribe-nav::before,
.footer-runes::before {
  background-image: var(--stitch-horizontal-texture) !important;
  background-repeat: repeat-x !important;
  background-size: 26px 4.5px !important;
  background-position-x: left !important;
  image-rendering: auto !important;
}

@media (max-width: 700px), (max-height: 620px) {
  .brand-panel::before,
  .tribe-nav::before,
  .footer-runes::before {
    background-size: 23px 4px !important;
  }
}


/* =========================================================
   COSTURA PROCEDURAL HORIZONTAL — VERSÃO FINAL
   Repete o SVG favicon horizontalmente de forma infinita,
   como a barra procedural de runas, respeitando a responsividade.
   ========================================================= */
:root {
  --stitch-horizontal-texture: url("texturas%20do%20site/Costura%20horizontal%20mostarda/favicon-linha-costura-mostarda.svg");
}

.brand-panel::before,
.tribe-nav::before,
.footer-runes::before {
  background-image: var(--stitch-horizontal-texture) !important;
  background-repeat: repeat-x !important;
  image-rendering: auto !important;
}

.brand-panel::before {
  content: none !important;
  background: none !important;
}

.brand-panel::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  height: 5.5px;
  pointer-events: none;
  z-index: 2;
  background-image: var(--stitch-horizontal-texture) !important;
  background-repeat: repeat-x !important;
  background-size: 21px 5.5px !important;
  background-position: left top !important;
}

.tribe-nav::before {
  background-size: 21px 5.5px !important;
  background-position: left 0 !important;
}

.footer-runes::before {
  height: 5.5px !important;
  background-size: 21px 5.5px !important;
  background-position: left top !important;
}

@media (max-width: 900px), (max-height: 760px) {
  .tribe-nav::before,
  .footer-runes::before {
    background-size: 19px 5px !important;
  }

  .brand-panel::after {
    height: 5px !important;
    background-size: 19px 5px !important;
  }

  .footer-runes::before {
    height: 5px !important;
  }
}

@media (max-width: 640px), (max-height: 560px) {
  .tribe-nav::before,
  .footer-runes::before {
    background-size: 17px 4.5px !important;
  }

  .brand-panel::after {
    height: 4.5px !important;
    background-size: 17px 4.5px !important;
  }

  .footer-runes::before {
    height: 4.5px !important;
  }
}


/* Ajuste final da nova logomarca do topo */
.brand-panel { overflow: hidden; }


/* =========================================================
   AJUSTE FINAL — BOTÕES CIRCULARES DE COURO + FONTE MENOR
   ========================================================= */
.icon-disc {
  width: calc(var(--icon-size) * .90);
  height: calc(var(--icon-size) * .90);
  border-radius: 50%;
  overflow: hidden;
  background-color: transparent;
  background-image: url("texturas%20do%20site/botao-circular-couro-mostarda.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 0 !important;
  box-shadow: none;
}

.tribe-button > span:last-child {
  font-size: clamp(.48rem, min(.78vw, 1.28dvh), .82rem);
  letter-spacing: .035em;
}

@media (max-width: 1120px), (max-height: 720px) {
  .tribe-button > span:last-child {
    font-size: clamp(.46rem, min(.76vw, 1.2dvh), .78rem);
  }
}

@media (max-width: 900px), (max-height: 620px) {
  .tribe-button > span:last-child {
    font-size: clamp(.44rem, min(.72vw, 1.12dvh), .72rem);
  }
}

@media (max-width: 700px) and (orientation: portrait) {
  .tribe-button > span:last-child {
    font-size: 10px !important;
    line-height: 1.02;
  }
  .icon-disc {
    width: calc(var(--icon-size) * .82);
    height: calc(var(--icon-size) * .82);
  }
}

@media (max-width: 700px) and (orientation: portrait) and (max-height: 760px) {
  .tribe-button > span:last-child {
    font-size: 9px !important;
  }
}

@media (max-width: 700px) and (orientation: portrait) and (max-height: 640px) {
  .tribe-button > span:last-child {
    font-size: 8px !important;
  }
  .icon-disc {
    width: calc(var(--icon-size) * .76);
    height: calc(var(--icon-size) * .76);
  }
}


/* =========================================================
   ÍCONES OFICIAIS DAS TRIBOS
   Arquivos em assets/images/icones/
   ========================================================= */

.tribe-emblem {
  overflow: hidden;
}

.tribe-emblem #large-icon {
  display: block;
  width: 82%;
  height: 82%;
  object-fit: contain;
  object-position: center;
  filter: none;
}

.icon-disc > img {
  display: block;
  width: 70%;
  height: 70%;
  object-fit: contain;
  object-position: center;
  filter: none;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Neutraliza regras antigas destinadas aos SVGs inline. */
.icon-disc > svg,
.tribe-emblem > svg {
  display: none !important;
}


/* =========================================================
   AJUSTE — ANEL EXTERNO AMARELO NOS BOTÕES DAS TRIBOS
   Remove círculo interno e qualquer contorno branco.
   ========================================================= */

.tribe-button,
.tribe-button:hover,
.tribe-button:focus,
.tribe-button:focus-visible,
.tribe-button:active {
  outline: none !important;
  box-shadow: none !important;
}

.icon-disc {
  outline: none !important;
  box-shadow: none !important;
}

/* neutraliza o anel interno antigo */
.icon-disc::after {
  content: "";
  position: absolute;
  inset: calc(clamp(3px, .36vmin, 5px) * -1);
  border-radius: 50%;
  border: 0 solid transparent;
  pointer-events: none;
  box-shadow: none !important;
  background: transparent !important;
}

.tribe-button:hover .icon-disc,
.tribe-button:focus .icon-disc,
.tribe-button:focus-visible .icon-disc,
.tribe-button.is-active .icon-disc {
  transform: scale(1.02);
  outline: none !important;
  box-shadow: none !important;
}

.tribe-button:hover .icon-disc::after,
.tribe-button:focus .icon-disc::after,
.tribe-button:focus-visible .icon-disc::after,
.tribe-button.is-active .icon-disc::after {
  border-width: clamp(3px, .46vmin, 6px);
  border-color: var(--yellow-bright);
}

/* =========================================================
   HOTFIX FINAL — BOTÕES SEM BORDA BRANCA
   anel amarelo apenas externo quando selecionado/hover
   ========================================================= */
.tribe-button,
.tribe-button:hover,
.tribe-button:focus,
.tribe-button:focus-visible,
.tribe-button:active {
  outline: none !important;
  box-shadow: none !important;
}

.tribe-button:focus-visible {
  outline: none !important;
}

.tribe-button .icon-disc {
  position: relative;
  overflow: visible !important; /* permite anel externo real */
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
  background-size: 94% 94% !important; /* remove aparência de contorno claro externo */
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* neutraliza qualquer anel interno antigo */
.tribe-button .icon-disc::before {
  content: none !important;
}

.tribe-button .icon-disc::after {
  content: "" !important;
  position: absolute !important;
  inset: calc(clamp(4px, .44vmin, 6px) * -1) !important;
  border-radius: 50% !important;
  border: 0 solid transparent !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
  z-index: 3 !important;
}

.tribe-button:hover .icon-disc,
.tribe-button:focus .icon-disc,
.tribe-button:focus-visible .icon-disc,
.tribe-button.is-active .icon-disc {
  transform: none !important;
  outline: none !important;
  border: none !important;
  box-shadow: none !important;
}

.tribe-button:hover .icon-disc::after,
.tribe-button:focus .icon-disc::after,
.tribe-button:focus-visible .icon-disc::after,
.tribe-button.is-active .icon-disc::after {
  border-width: clamp(3px, .52vmin, 6px) !important;
  border-color: #f4bf22 !important;
}

/* =========================================================
   HOTFIX EXTRA — ESPAÇAMENTO DO NOME, SEM CLIP, SEM BORDA CLARA
   ========================================================= */
.tribe-nav {
  overflow: visible !important;
  align-items: start !important;
  padding-top: clamp(10px, 1.4dvh, 18px) !important;
  padding-bottom: clamp(8px, 1dvh, 14px) !important;
}

.tribe-button {
  overflow: visible !important;
  align-content: start !important;
  justify-items: center !important;
  gap: clamp(8px, 1.05vmin, 14px) !important;
  padding-top: clamp(4px, .55dvh, 8px) !important;
  padding-bottom: clamp(8px, .9dvh, 14px) !important;
  min-height: calc(var(--icon-size) + clamp(28px, 4dvh, 40px)) !important;
}

.tribe-button > span:last-child {
  position: relative;
  z-index: 5;
  display: block;
  margin-top: clamp(2px, .35dvh, 6px) !important;
  padding-top: 0 !important;
  line-height: 1.14 !important;
  white-space: nowrap;
}

.tribe-button .icon-disc {
  overflow: visible !important;
  background-size: 100% 100% !important;
  background-position: center !important;
  outline: none !important;
  border: none !important;
  box-shadow: inset 0 0 0 clamp(1px, .12vmin, 2px) rgba(0,0,0,.42) !important;
  isolation: isolate;
}

.tribe-button .icon-disc > img {
  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  width: 66% !important;
  height: 66% !important;
}

.tribe-button .icon-disc::after {
  inset: calc(clamp(4px, .46vmin, 7px) * -1) !important;
}

.tribe-button:hover .icon-disc::after,
.tribe-button:focus .icon-disc::after,
.tribe-button:focus-visible .icon-disc::after,
.tribe-button.is-active .icon-disc::after {
  border-width: clamp(4px, .56vmin, 7px) !important;
  border-color: #f4bf22 !important;
}

@media (max-width: 700px) and (orientation: portrait) {
  .tribe-nav {
    padding-top: clamp(8px, 1.2dvh, 14px) !important;
    padding-bottom: clamp(8px, 1.2dvh, 14px) !important;
  }

  .tribe-button {
    gap: clamp(8px, 1.1vmin, 12px) !important;
    min-height: calc(var(--icon-size) + 30px) !important;
  }

  .tribe-button > span:last-child {
    margin-top: 2px !important;
    font-size: 8px !important;
  }
}

/* =========================================================
   HOTFIX EXTRA 2 — remover halo claro dos botões
   ========================================================= */
.tribe-nav,
.bottom-nav,
.tribe-button,
.tribe-button .icon-disc {
  overflow: visible !important;
}

.tribe-button .icon-disc {
  background-image: url("texturas%20do%20site/botao-circular-couro-mostarda-sem-aro-claro.png") !important;
  background-size: 112% 112% !important;
  background-position: center center !important;
  box-shadow: none !important;
  border: none !important;
}

.tribe-button .icon-disc > img {
  width: 62% !important;
  height: 62% !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.tribe-button:hover .icon-disc::after,
.tribe-button:focus .icon-disc::after,
.tribe-button:focus-visible .icon-disc::after,
.tribe-button.is-active .icon-disc::after {
  border-width: clamp(4px, .56vmin, 7px) !important;
}

/* =========================================================
   HOTFIX — alinhamento da descrição desktop e ícones sem aro
   ========================================================= */
@media (min-width: 921px) and (min-aspect-ratio: 1.18/1) {
  .tribe-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    text-align: right !important;
  }

  .tribe-emblem {
    align-self: flex-end !important;
    justify-self: end !important;
    margin: 0 clamp(14px, 1.8vw, 26px) clamp(12px, 1.4dvh, 22px) 0 !important;
    width: clamp(72px, 7.6vw, 112px) !important;
    height: clamp(72px, 7.6vw, 112px) !important;
    overflow: visible !important;
  }

  .tribe-card .eyebrow,
  .tribe-card h1,
  .tribe-card p {
    width: 100% !important;
    text-align: right !important;
    align-self: flex-end !important;
  }

  .tribe-card h1 {
    margin-top: clamp(2px, .45dvh, 8px) !important;
  }

  .tribe-card p {
    max-width: 34ch !important;
    margin-left: auto !important;
  }
}

/* O símbolo grande e os ícones dos botões não devem ter aro preto adicional. */
.tribe-emblem,
.tribe-emblem #large-icon,
.icon-disc > img {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.tribe-emblem #large-icon {
  object-fit: contain !important;
}

/* =========================================================
   AJUSTE FINO FINAL — POSICIONAMENTO DOS BLOCOS DE DESCRIÇÃO
   baseado nos blocos vermelhos/roxos enviados pelo usuário
   ========================================================= */

/* DESKTOP: texto mais à direita sem cortar; ícone maior e um pouco mais à direita */
@media (min-width: 921px) and (min-aspect-ratio: 1.18/1) {
  .tribe-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: flex-end !important;
    text-align: right !important;
    padding: clamp(28px, 3.2dvh, 42px) clamp(28px, 4.2vw, 54px) clamp(30px, 3.2dvh, 46px) clamp(18px, 2vw, 28px) !important;
  }

  .tribe-emblem {
    width: clamp(88px, 8.8vw, 136px) !important;
    height: clamp(88px, 8.8vw, 136px) !important;
    margin: 0 clamp(28px, 7.8%, 58px) clamp(12px, 1.5dvh, 22px) 0 !important;
    transform: translateX(8%) !important;
  }

  .tribe-card .eyebrow,
  .tribe-card h1,
  .tribe-card p {
    width: min(86%, 38ch) !important;
    max-width: min(86%, 38ch) !important;
    margin-left: auto !important;
    margin-right: clamp(8px, 2.6%, 20px) !important;
    text-align: right !important;
    align-self: flex-end !important;
  }

  .tribe-card h1 {
    font-size: clamp(1.9rem, 3vw, 3.25rem) !important;
    line-height: .96 !important;
    letter-spacing: .02em !important;
    margin-top: clamp(2px, .35dvh, 7px) !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .tribe-card p {
    font-size: clamp(1rem, 1.18vw, 1.42rem) !important;
    line-height: 1.24 !important;
  }
}

/* MOBILE/PORTRAIT: ícone na área roxa à esquerda e bloco de texto dentro da área vermelha */
@media (max-width: 920px), (max-aspect-ratio: 1.18/1) {
  .tribe-card {
    display: grid !important;
    grid-template-columns: clamp(56px, 14vw, 74px) minmax(0, 1fr) !important;
    grid-template-areas:
      "emblem eyebrow"
      "emblem title"
      "emblem copy" !important;
    column-gap: clamp(14px, 3.6vw, 22px) !important;
    row-gap: clamp(1px, .5vw, 5px) !important;
    align-items: start !important;
    align-content: center !important;
    justify-items: start !important;
    padding: clamp(14px, 2.2vw, 22px) clamp(16px, 4.2vw, 24px) clamp(18px, 2.8vw, 28px) clamp(18px, 4.6vw, 28px) !important;
  }

  .tribe-emblem {
    grid-area: emblem !important;
    width: clamp(54px, 12.6vw, 68px) !important;
    height: clamp(54px, 12.6vw, 68px) !important;
    margin: clamp(10px, 1.8vw, 14px) 0 0 0 !important;
    transform: translateX(0) !important;
    align-self: start !important;
    justify-self: start !important;
  }

  .tribe-card .eyebrow,
  .tribe-card h1,
  .tribe-card p {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: left !important;
  }

  .tribe-card .eyebrow {
    grid-area: eyebrow !important;
    margin-top: clamp(10px, 1.4vw, 14px) !important;
    margin-bottom: 0 !important;
  }

  .tribe-card h1 {
    grid-area: title !important;
    font-size: clamp(1.65rem, 6vw, 2.35rem) !important;
    line-height: .92 !important;
    margin: 0 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
  }

  .tribe-card p {
    grid-area: copy !important;
    font-size: clamp(.92rem, 3.4vw, 1.12rem) !important;
    line-height: 1.18 !important;
    max-width: 28ch !important;
  }
}

/* Mobile portrait mais estrito: abaixar ainda mais o conjunto para coincidir com a faixa vermelha */
@media (max-width: 700px) and (orientation: portrait) {
  .tribe-card {
    grid-template-columns: clamp(54px, 13.2vw, 66px) minmax(0, 1fr) !important;
    column-gap: clamp(14px, 4vw, 18px) !important;
    padding: clamp(18px, 3vw, 24px) clamp(16px, 4.2vw, 22px) clamp(18px, 3vw, 24px) clamp(18px, 4.8vw, 24px) !important;
  }

  .tribe-emblem {
    width: clamp(52px, 11.8vw, 60px) !important;
    height: clamp(52px, 11.8vw, 60px) !important;
    margin-top: clamp(16px, 3vw, 22px) !important;
  }

  .tribe-card .eyebrow {
    margin-top: clamp(14px, 2.8vw, 20px) !important;
  }

  .tribe-card h1 {
    font-size: clamp(1.6rem, 7vw, 2.2rem) !important;
  }

  .tribe-card p {
    max-width: 30ch !important;
    font-size: clamp(.94rem, 3.5vw, 1.05rem) !important;
  }
}


/* =========================================================
   SUBPÁGINA — RUNAS VÔLEI / LOGIN VISUAL
   ========================================================= */
body.subpage-body {
  overflow: hidden;
  background: #000;
}

.subpage-shell {
  width: 100%;
  height: 100dvh;
  display: grid;
  grid-template-rows: var(--header-h) 1fr;
  background: #050505;
  overflow: hidden;
}

.subpage-main {
  position: relative;
  min-height: 0;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(0,0,0,.20), rgba(0,0,0,.72)),
    url('../slides homepage/volei/Volei%20%281%29.png') center/cover no-repeat;
}

.subpage-main::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,5,5,.88) 0%, rgba(5,5,5,.56) 28%, rgba(5,5,5,.18) 52%, rgba(5,5,5,.70) 100%);
  pointer-events: none;
}

.subpage-back {
  position: absolute;
  top: clamp(14px, 2.5vw, 22px);
  left: clamp(14px, 2.5vw, 22px);
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(243,179,0,.45);
  background: rgba(5,5,5,.78);
  color: var(--yellow-bright);
  text-decoration: none;
  font-weight: 700;
  letter-spacing: .06em;
}

.volley-dashboard {
  position: relative;
  z-index: 1;
  height: 100%;
  padding: clamp(18px, 3vw, 34px);
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  gap: clamp(16px, 2vw, 24px);
  align-items: end;
}

.profile-summary,
.dashboard-panel {
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  border: 1px solid rgba(243,179,0,.28);
  background:
    linear-gradient(180deg, rgba(243,179,0,.16), rgba(243,179,0,.10)),
    rgba(5,5,5,.68);
  box-shadow: 0 18px 30px rgba(0,0,0,.26);
}

.profile-summary {
  padding: clamp(18px, 2vw, 24px);
  border-radius: 26px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 14px;
  min-height: min(56dvh, 520px);
}

.profile-photo {
  width: clamp(88px, 10vw, 118px);
  height: clamp(88px, 10vw, 118px);
  border-radius: 50%;
  background:
    linear-gradient(180deg, rgba(243,179,0,.95), rgba(214,156,0,.88));
  border: 3px solid rgba(243,179,0,.85);
  display: grid;
  place-items: center;
  color: #050505;
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 900;
  letter-spacing: .04em;
}

.profile-kicker {
  color: var(--yellow-bright);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .22em;
}

.profile-name {
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(1.8rem, 2.6vw, 3rem);
  line-height: .96;
  letter-spacing: .06em;
}

.profile-copy {
  margin: 0;
  max-width: 30ch;
  color: rgba(255,255,255,.9);
  line-height: 1.5;
}

.profile-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(243,179,0,.18);
  color: var(--yellow-bright);
  border: 1px solid rgba(243,179,0,.32);
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .12em;
}

.dashboard-content {
  min-height: 0;
  display: grid;
}

.dashboard-view {
  display: none;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(14px, 1.7vw, 18px);
  align-content: end;
}

.dashboard-view.is-visible { display: grid; }

.dashboard-panel {
  border-radius: 24px;
  padding: clamp(18px, 2vw, 26px);
  min-height: clamp(140px, 24vh, 230px);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.dashboard-panel.wide {
  grid-column: 1 / -1;
  min-height: clamp(150px, 25vh, 250px);
}

.dashboard-panel h2 {
  margin: 0 0 10px;
  color: var(--yellow-bright);
  font-size: clamp(1.05rem, 1.7vw, 1.4rem);
  letter-spacing: .08em;
}

.dashboard-panel p,
.dashboard-panel li {
  margin: 0;
  color: rgba(255,255,255,.88);
  line-height: 1.55;
}

.dashboard-panel ul {
  margin: 0;
  padding-left: 18px;
  display: grid;
  gap: 8px;
}

.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(18px, 3vw, 32px);
  background: rgba(0,0,0,.68);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.auth-gate[hidden] { display: none; }

.auth-card {
  width: min(440px, 100%);
  padding: clamp(24px, 4vw, 34px);
  border-radius: 28px;
  border: 1px solid rgba(243,179,0,.38);
  background:
    linear-gradient(180deg, rgba(243,179,0,.18), rgba(243,179,0,.08)),
    rgba(5,5,5,.92);
  box-shadow: 0 28px 60px rgba(0,0,0,.45);
  color: #fff;
  text-align: center;
}

.auth-card .auth-title {
  margin: 10px 0 6px;
  font-family: Georgia, serif;
  font-size: clamp(1.8rem, 3.8vw, 2.4rem);
  letter-spacing: .08em;
  color: var(--yellow-bright);
}

.auth-card .auth-copy {
  margin: 0 auto 18px;
  max-width: 32ch;
  line-height: 1.5;
  color: rgba(255,255,255,.88);
}

.auth-avatar {
  width: clamp(80px, 16vw, 100px);
  height: clamp(80px, 16vw, 100px);
  margin: 0 auto 16px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 3px solid rgba(243,179,0,.82);
  background:
    radial-gradient(circle at 50% 34%, rgba(255,255,255,.96) 0 16%, transparent 17%),
    radial-gradient(circle at 50% 74%, rgba(255,255,255,.96) 0 28%, transparent 29%),
    linear-gradient(180deg, rgba(243,179,0,.90), rgba(195,140,0,.9));
}

.auth-form {
  display: grid;
  gap: 12px;
}

.auth-input {
  width: 100%;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(243,179,0,.26);
  background: rgba(255,255,255,.08);
  color: #fff;
  outline: none;
}

.auth-input::placeholder { color: rgba(255,255,255,.62); }

.auth-input:focus {
  border-color: rgba(243,179,0,.8);
  box-shadow: 0 0 0 3px rgba(243,179,0,.15);
}

.auth-action,
.auth-guest {
  width: 100%;
  border: 0;
  border-radius: 16px;
  padding: 14px 18px;
  font-weight: 800;
  letter-spacing: .08em;
  cursor: pointer;
}

.auth-action {
  background: linear-gradient(180deg, #ffd24a, #f3b300);
  color: #050505;
  margin-top: 4px;
}

.auth-guest {
  margin-top: 2px;
  background: rgba(255,255,255,.08);
  color: #fff;
  border: 1px solid rgba(243,179,0,.24);
}

.auth-guest small {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.7);
  font-weight: 600;
  letter-spacing: .02em;
}

.auth-helper {
  margin: 14px 0 0;
  color: rgba(255,255,255,.6);
  font-size: .84rem;
}

@media (max-width: 900px) {
  .subpage-shell {
    grid-template-rows: var(--header-h) 1fr;
  }

  .volley-dashboard {
    grid-template-columns: 1fr;
    align-items: end;
    padding: clamp(12px, 3vw, 18px);
  }

  .profile-summary {
    min-height: auto;
    order: 2;
  }

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

  .dashboard-panel.wide {
    min-height: auto;
  }
}


/* Ajustes do popup de login */
.auth-card {
  width: min(400px, 100%);
  padding: clamp(28px, 4vw, 38px) clamp(26px, 4vw, 34px);
}

.auth-avatar {
  width: clamp(96px, 18vw, 114px);
  height: clamp(96px, 18vw, 114px);
  margin: 0 auto 22px;
}

.auth-form {
  display: grid;
  gap: 12px;
}

.auth-input {
  min-height: 44px;
}

.auth-action,
.auth-guest {
  min-height: 46px;
  padding: 14px 18px;
  background-color: #e4ad09;
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.06)),
    url('texturas do site/textura-base-janelas-linho-amarelo.png');
  background-size: auto, 220px 220px;
  background-repeat: repeat;
  color: #080808;
  border: 1px solid rgba(243,179,0,.55);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 8px 18px rgba(0,0,0,.16);
}

.auth-action:hover,
.auth-guest:hover {
  filter: brightness(1.02);
}

.auth-action {
  font-size: 1.02rem;
  letter-spacing: .12em;
}

.auth-guest {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
}

.auth-guest small {
  margin: 0;
  color: rgba(8,8,8,.78);
  font-weight: 700;
  letter-spacing: .10em;
  font-size: .7rem;
  line-height: 1;
}

.auth-guest strong {
  font-size: 1rem;
  line-height: 1.1;
  letter-spacing: .08em;
}

.auth-error {
  margin: 12px 0 0;
  min-height: 1.1em;
  color: #ffd1d1;
  font-size: .86rem;
  font-weight: 700;
  text-align: center;
}

.auth-error.is-visible {
  display: block;
}

/* =========================================================
   SUBPÁGINA VÔLEI — REFACTOR VISUAL FIEL À REFERÊNCIA
   ========================================================= */
body.subpage-body.athlete-page {
  overflow: auto;
  min-height: 100dvh;
  background:
    radial-gradient(circle at 50% 8%, rgba(243,179,0,.16), transparent 15%),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/380px 380px repeat,
    #040404;
  color: #f2efe8;
}

.athlete-shell {
  position: relative;
  min-height: 100dvh;
  padding: clamp(18px, 2.5vw, 28px);
  background:
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.10)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/430px 430px repeat,
    #050505;
  overflow: hidden;
}

.athlete-shell::before,
.athlete-shell::after {
  content: "";
  position: absolute;
  left: 26px;
  right: 26px;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(243,179,0,.22) 16%, rgba(243,179,0,.22) 84%, transparent);
}
.athlete-shell::before { top: 42px; }
.athlete-shell::after { bottom: 42px; }

.athlete-top-logo {
  position: absolute;
  top: clamp(18px, 2vw, 24px);
  left: 50%;
  transform: translateX(-50%);
  width: clamp(70px, 7vw, 112px);
  z-index: 3;
  filter: drop-shadow(0 5px 10px rgba(0,0,0,.45));
}

.athlete-runes {
  position: absolute;
  left: 28px;
  right: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(8px, 1vw, 14px);
  color: #d69a06;
  font-size: clamp(.8rem, 1vw, 1rem);
  letter-spacing: .12em;
  opacity: .92;
  white-space: nowrap;
  overflow: hidden;
  text-transform: uppercase;
  z-index: 2;
}
.athlete-runes span { flex: 0 0 auto; }
.athlete-runes-top { top: 8px; }
.athlete-runes-bottom { bottom: 8px; }

.athlete-panel {
  position: relative;
  max-width: 1620px;
  min-height: calc(100dvh - 36px);
  margin: 0 auto;
  padding: clamp(92px, 10vw, 118px) clamp(28px, 4vw, 44px) clamp(70px, 7vw, 96px);
}

.athlete-card-frame {
  position: absolute;
  inset: 56px 10px 56px;
  border: 1px solid rgba(124, 96, 33, .38);
  opacity: .55;
  pointer-events: none;
  clip-path: polygon(3% 0, 46.5% 0, 49.4% 3.4%, 50.6% 3.4%, 53.5% 0, 97% 0, 100% 3.2%, 100% 96.8%, 97% 100%, 3% 100%, 0 96.8%, 0 3.2%);
}
.athlete-card-frame::before,
.athlete-card-frame::after {
  content: "";
  position: absolute;
  inset: 12px;
  border: 1px solid rgba(24, 18, 7, .5);
  clip-path: inherit;
}

.tribe-branding {
  position: absolute;
  top: 76px;
  left: clamp(28px, 5vw, 62px);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  z-index: 3;
}
.tribe-branding img {
  width: clamp(42px, 4vw, 58px);
  height: clamp(42px, 4vw, 58px);
  object-fit: contain;
  filter: brightness(1) sepia(1) saturate(0) contrast(1) invert(72%) sepia(74%) saturate(1480%) hue-rotate(4deg) brightness(98%) contrast(101%);
}
.tribe-branding strong,
.tribe-branding span {
  display: block;
  line-height: 1;
}
.tribe-branding strong {
  color: #e0a214;
  font-size: clamp(1.7rem, 2vw, 2.45rem);
  letter-spacing: .08em;
  font-weight: 800;
}
.tribe-branding span {
  margin-top: 4px;
  color: #e0a214;
  font-size: clamp(1rem, 1.1vw, 1.3rem);
  letter-spacing: .28em;
}

.athlete-core {
  position: relative;
  z-index: 2;
  width: min(100%, 900px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.avatar-block {
  position: relative;
  width: clamp(178px, 17vw, 258px);
  height: clamp(178px, 17vw, 258px);
  margin-bottom: clamp(18px, 2vw, 26px);
}
.avatar-main {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 44%, rgba(17,17,17,1) 0 55%, rgba(7,7,7,1) 56% 100%),
    #0a0a0a;
  border: clamp(5px, .45vw, 7px) solid #d79b0e;
  box-shadow: 0 16px 30px rgba(0,0,0,.5), inset 0 0 0 2px rgba(12,12,12,.9);
}
.avatar-main::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 2px dashed rgba(22,14,4,.72);
  border-radius: 50%;
}
.avatar-person {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 32% 30%, rgba(255,255,255,.28), transparent 38%),
    linear-gradient(180deg, #d6d6d6, #a8a8a8);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.35), 0 5px 8px rgba(0,0,0,.22);
}
.avatar-person-head {
  top: 17%;
  width: 30%;
  height: 30%;
  border-radius: 50%;
}
.avatar-person-body {
  bottom: 12%;
  width: 56%;
  height: 40%;
  border-radius: 52% 52% 36% 36% / 60% 60% 28% 28%;
}
.avatar-mini {
  position: absolute;
  right: -12%;
  width: clamp(68px, 5.8vw, 88px);
  height: clamp(68px, 5.8vw, 88px);
  border-radius: 50%;
  border: 4px solid #d79b0e;
  box-shadow: 0 10px 22px rgba(0,0,0,.42);
}
.avatar-edit {
  top: 10%;
  display: grid;
  place-items: center;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.06)),
    url("texturas do site/textura-base-janelas-linho-amarelo.png") center/200px 200px repeat,
    #dfa30e;
  cursor: default;
}
.avatar-edit svg {
  width: 38%;
  height: 38%;
  fill: #0b0b0b;
}
.avatar-link {
  position: absolute;
  top: 45%;
  right: 8%;
  width: 10px;
  height: 34%;
  background: linear-gradient(180deg, #d79b0e, #986500);
  box-shadow: inset 0 0 0 2px rgba(77,49,0,.48);
  border-radius: 999px;
}
.avatar-rank {
  bottom: 0;
  background: radial-gradient(circle at 50% 28%, rgba(255,255,255,.1), transparent 34%), #101010;
  display: grid;
  place-items: center;
}
.rank-medal {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.rank-shield {
  width: 32px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 10px 10px 14px 14px;
  color: #ececec;
  background: linear-gradient(180deg, #9e9e9e, #666);
  box-shadow: inset 0 0 0 2px rgba(255,255,255,.22);
  font-size: .95rem;
}
.rank-medal span {
  color: #f0e9db;
  font-family: Georgia, serif;
  font-size: .92rem;
  letter-spacing: .06em;
}
.avatar-rank-guest .rank-medal span {
  font-size: .78rem;
}

.athlete-kicker {
  margin: 0;
  color: rgba(244,236,222,.92);
  font-family: Georgia, serif;
  font-size: clamp(1.5rem, 2vw, 2.2rem);
  letter-spacing: .14em;
  text-align: center;
}
.athlete-name {
  margin: 8px 0 10px;
  color: #dca014;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(4.1rem, 7vw, 6.4rem);
  line-height: .92;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-align: center;
  text-shadow: 0 3px 0 rgba(77,46,0,.55), 0 8px 18px rgba(0,0,0,.35);
}
.athlete-status {
  margin: 0 0 clamp(30px, 3vw, 40px);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: rgba(244,236,222,.92);
  font-family: Georgia, serif;
  font-size: clamp(1.4rem, 2vw, 2rem);
  letter-spacing: .14em;
  text-transform: uppercase;
}
.athlete-status span {
  display: block;
  width: clamp(22px, 3vw, 34px);
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #b47200, #e0a214);
}

.action-grid {
  width: min(100%, 760px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 1.8vw, 22px) clamp(22px, 2vw, 30px);
}
.athlete-action {
  position: relative;
  min-height: clamp(88px, 9vw, 110px);
  padding: 18px 28px 18px 132px;
  border: 0;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.05)),
    url("texturas do site/textura-base-janelas-linho-amarelo.png") center/220px 220px repeat,
    #dfa30e;
  box-shadow: 0 10px 22px rgba(0,0,0,.28), inset 0 0 0 2px rgba(117,68,0,.32);
  cursor: default;
}
.athlete-action::before {
  content: "";
  position: absolute;
  inset: 7px;
  border: 2px dashed rgba(55,33,0,.4);
  border-radius: 14px;
}
.athlete-action span {
  position: relative;
  z-index: 1;
}
.action-icon {
  position: absolute;
  left: 28px;
  top: 50%;
  transform: translateY(-50%);
  width: 76px;
  height: 76px;
  display: grid;
  place-items: center;
  color: #090909;
}
.action-icon svg {
  width: 72%;
  height: 72%;
  fill: currentColor;
}
.athlete-action > span:last-child {
  display: block;
  color: #0a0a0a;
  text-align: left;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2rem, 2.2vw, 2.65rem);
  letter-spacing: .03em;
  text-transform: uppercase;
}
.athlete-action.is-disabled {
  opacity: .72;
  filter: grayscale(.15);
  pointer-events: none;
}
.guest-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(100%, 700px);
}
.guest-note {
  grid-column: 1 / -1;
  margin-top: 6px;
  color: rgba(244,236,222,.92);
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}
.athlete-panel-guest .athlete-name { font-size: clamp(3.4rem, 6vw, 5rem); }

/* Login popup fiel à referência */
.auth-gate {
  position: fixed;
  inset: 0;
  z-index: 30;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
}
.auth-card-reference {
  position: relative;
  width: min(760px, 100%);
  padding: 46px 56px 40px;
  border-radius: 34px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.04)),
    url("texturas do site/textura-base-janelas-couro-preto-escuro.png") center/420px 420px repeat,
    #070707;
  border: 1px solid rgba(192,132,12,.72);
  box-shadow: 0 24px 60px rgba(0,0,0,.48), inset 0 0 0 1px rgba(255,255,255,.03);
  color: #f3ecdf;
  text-align: center;
}
.auth-card-corners,
.auth-card-corners::before,
.auth-card-corners::after {
  content: "";
  position: absolute;
  inset: 18px;
  border-radius: 26px;
  pointer-events: none;
}
.auth-card-corners {
  background:
    linear-gradient(135deg, rgba(0,0,0,0) 0 18px, rgba(183,124,8,.55) 18px 20px, transparent 20px) top left/74px 74px no-repeat,
    linear-gradient(225deg, rgba(0,0,0,0) 0 18px, rgba(183,124,8,.55) 18px 20px, transparent 20px) top right/74px 74px no-repeat,
    linear-gradient(45deg, rgba(0,0,0,0) 0 18px, rgba(183,124,8,.55) 18px 20px, transparent 20px) bottom left/74px 74px no-repeat,
    linear-gradient(-45deg, rgba(0,0,0,0) 0 18px, rgba(183,124,8,.55) 18px 20px, transparent 20px) bottom right/74px 74px no-repeat;
  opacity: .42;
}
.auth-avatar-reference {
  position: relative;
  width: clamp(190px, 16vw, 246px);
  height: clamp(190px, 16vw, 246px);
  margin: 4px auto 34px;
  border-radius: 50%;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.05)),
    url("texturas do site/textura-base-janelas-linho-amarelo.png") center/220px 220px repeat,
    #dca014;
  border: 4px solid #ce930e;
  box-shadow: 0 16px 24px rgba(0,0,0,.32), inset 0 0 0 1px rgba(255,255,255,.18);
}
.auth-avatar-reference::after {
  content: "";
  position: absolute;
  inset: 10px;
  border-radius: 50%;
  border: 3px dashed rgba(42,24,0,.48);
}
.auth-avatar-head,
.auth-avatar-body {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  background:
    radial-gradient(circle at 30% 26%, rgba(255,255,255,.18), transparent 42%),
    linear-gradient(180deg, #f1dbac, #d5b06d);
  box-shadow: inset 0 1px 1px rgba(255,255,255,.25), 0 6px 8px rgba(0,0,0,.16);
}
.auth-avatar-head {
  top: 20%;
  width: 24%;
  height: 24%;
  border-radius: 50%;
}
.auth-avatar-body {
  bottom: 12%;
  width: 52%;
  height: 42%;
  border-radius: 52% 52% 36% 36% / 60% 60% 28% 28%;
}
.auth-divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 0 18px 28px;
  color: #d79b0e;
  font-size: clamp(1.28rem, 1.2vw, 1.55rem);
  letter-spacing: .22em;
  text-transform: uppercase;
}
.auth-divider::before,
.auth-divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(215,155,14,.65), transparent);
}
.auth-divider span::before,
.auth-divider span::after {
  content: "◇";
  margin: 0 14px;
  font-size: .9em;
}
.auth-form-reference {
  display: grid;
  gap: 22px;
}
.auth-field {
  position: relative;
  display: block;
}
.auth-field-icon {
  position: absolute;
  left: 20px;
  top: 50%;
  transform: translateY(-50%);
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: rgba(215, 190, 140, .7);
}
.auth-field-icon svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
}
.auth-input-reference {
  width: 100%;
  min-height: 92px;
  padding: 0 28px 0 78px;
  border-radius: 24px;
  border: 2px solid rgba(186,131,14,.44);
  background: rgba(0,0,0,.18);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02);
  color: #f2e7d3;
  font-size: clamp(1.18rem, 1.3vw, 1.5rem);
}
.auth-input-reference::placeholder { color: rgba(214, 194, 157, .72); }
.auth-input-reference:focus {
  border-color: rgba(223,163,14,.72);
  box-shadow: 0 0 0 4px rgba(223,163,14,.12), inset 0 0 0 1px rgba(255,255,255,.04);
  background: rgba(0,0,0,.28);
}
.auth-action-reference,
.auth-guest-reference {
  width: 100%;
  min-height: 96px;
  border: 0;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.04)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #dca014;
  box-shadow: 0 10px 22px rgba(0,0,0,.2), inset 0 0 0 2px rgba(130,76,0,.28);
  color: #050505;
  cursor: pointer;
}
.auth-action-reference::before,
.auth-guest-reference::before {
  content: "";
  position: absolute;
  inset: 4px;
  border: 3px dashed rgba(54,30,0,.48);
  border-radius: 18px;
  pointer-events: none;
}
.auth-action-reference {
  position: relative;
  margin-top: 18px;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(2rem, 2.3vw, 2.8rem);
  letter-spacing: .04em;
}
.auth-divider-guest { margin-top: 58px; }
.auth-guest-reference {
  position: relative;
  font-family: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  font-size: clamp(1.75rem, 2vw, 2.45rem);
  letter-spacing: .02em;
  opacity: .8;
}
.auth-error-reference {
  margin: 10px 0 0;
  min-height: 1.4em;
  color: #f0dcdc;
  font-size: clamp(1.05rem, 1.1vw, 1.25rem);
  font-weight: 700;
}

@media (max-width: 1100px) {
  .athlete-panel {
    min-height: auto;
    padding-top: 90px;
  }
  .action-grid {
    width: min(100%, 700px);
  }
  .athlete-name { font-size: clamp(3.8rem, 8vw, 5rem); }
}

@media (max-width: 820px) {
  .athlete-shell {
    padding: 14px;
  }
  .athlete-runes { left: 18px; right: 18px; font-size: .74rem; gap: 8px; }
  .athlete-panel {
    padding: 90px 18px 64px;
  }
  .athlete-card-frame {
    inset: 52px 4px 52px;
  }
  .tribe-branding {
    top: 86px;
    left: 26px;
  }
  .tribe-branding strong { font-size: 1.4rem; }
  .tribe-branding span { font-size: .9rem; }
  .athlete-core {
    width: 100%;
  }
  .avatar-block {
    width: min(54vw, 250px);
    height: min(54vw, 250px);
    margin-bottom: 16px;
  }
  .athlete-kicker { font-size: 1.12rem; }
  .athlete-name {
    font-size: clamp(2.7rem, 10vw, 4rem);
  }
  .athlete-status { font-size: 1rem; gap: 10px; margin-bottom: 24px; }
  .action-grid,
  .guest-grid {
    grid-template-columns: 1fr;
    width: 100%;
    gap: 14px;
  }
  .athlete-action {
    min-height: 78px;
    padding: 14px 18px 14px 100px;
  }
  .action-icon {
    left: 18px;
    width: 60px;
    height: 60px;
  }
  .athlete-action > span:last-child { font-size: clamp(1.6rem, 6vw, 2.1rem); }
  .auth-card-reference {
    width: min(94vw, 520px);
    padding: 28px 22px 24px;
    border-radius: 24px;
  }
  .auth-card-corners, .auth-card-corners::before, .auth-card-corners::after { inset: 10px; }
  .auth-avatar-reference {
    width: min(42vw, 170px);
    height: min(42vw, 170px);
    margin-bottom: 20px;
  }
  .auth-divider {
    margin: 0 2px 18px;
    gap: 8px;
    font-size: .92rem;
    letter-spacing: .14em;
  }
  .auth-divider span::before,
  .auth-divider span::after { margin: 0 8px; }
  .auth-form-reference { gap: 14px; }
  .auth-input-reference {
    min-height: 62px;
    padding-left: 58px;
    border-radius: 18px;
    font-size: 1rem;
  }
  .auth-field-icon {
    left: 16px;
    width: 26px;
    height: 26px;
  }
  .auth-action-reference,
  .auth-guest-reference {
    min-height: 64px;
    border-radius: 18px;
  }
  .auth-action-reference { font-size: 1.8rem; }
  .auth-guest-reference { font-size: 1.45rem; }
  .auth-error-reference { font-size: .95rem; margin-top: 16px; }
}

/* =========================================================
   AJUSTE FINO — ESCALA MENOR E RESPONSIVIDADE MAIS INTELIGENTE
   ========================================================= */
:root {
  --athlete-max-content: 760px;
}

.athlete-panel {
  max-width: 1400px;
  min-height: min(100dvh - 28px, 1120px);
  padding: clamp(72px, 7vw, 88px) clamp(18px, 2.2vw, 30px) clamp(54px, 5vw, 72px);
}

.athlete-card-frame {
  inset: 44px 10px 44px;
}

.tribe-branding {
  top: 62px;
  left: clamp(24px, 3vw, 44px);
  gap: 10px;
}
.tribe-branding img {
  width: clamp(34px, 2.8vw, 46px);
  height: clamp(34px, 2.8vw, 46px);
}
.tribe-branding strong {
  font-size: clamp(1.28rem, 1.6vw, 1.9rem);
}
.tribe-branding span {
  font-size: clamp(.78rem, .9vw, 1rem);
  letter-spacing: .22em;
}

.athlete-top-logo {
  width: clamp(58px, 5.2vw, 88px);
}
.athlete-runes {
  font-size: clamp(.68rem, .78vw, .84rem);
  gap: clamp(6px, .72vw, 10px);
}

.athlete-core {
  width: min(100%, var(--athlete-max-content));
}

.avatar-block {
  width: clamp(132px, 12vw, 186px);
  height: clamp(132px, 12vw, 186px);
  margin-bottom: clamp(12px, 1.4vw, 18px);
}
.avatar-main::after { inset: 7px; }
.avatar-mini {
  width: clamp(48px, 4vw, 66px);
  height: clamp(48px, 4vw, 66px);
  border-width: 3px;
  right: -10%;
}
.avatar-edit svg { width: 34%; height: 34%; }
.avatar-link {
  width: 8px;
  top: 46%;
  height: 30%;
}
.rank-shield {
  width: 22px;
  height: 28px;
  font-size: .72rem;
}
.rank-medal span {
  font-size: .74rem;
}

.athlete-kicker {
  font-size: clamp(1rem, 1.2vw, 1.35rem);
  letter-spacing: .12em;
}
.athlete-name {
  margin: 4px 0 6px;
  font-size: clamp(2.8rem, 4.4vw, 4.5rem);
  line-height: .95;
}
.athlete-status {
  margin-bottom: clamp(20px, 2vw, 26px);
  font-size: clamp(.98rem, 1.2vw, 1.3rem);
  gap: 10px;
  letter-spacing: .12em;
}
.athlete-status span {
  width: clamp(18px, 2vw, 28px);
  height: 2px;
}

.action-grid {
  width: min(100%, 700px);
  gap: 14px 18px;
}
.athlete-action {
  min-height: clamp(70px, 6vw, 84px);
  padding: 14px 18px 14px 92px;
  border-radius: 14px;
}
.athlete-action::before {
  inset: 6px;
  border-width: 2px;
  border-radius: 10px;
}
.action-icon {
  left: 18px;
  width: 52px;
  height: 52px;
}
.athlete-action > span:last-child {
  font-size: clamp(1.35rem, 1.65vw, 1.85rem);
  letter-spacing: .02em;
}
.guest-note {
  font-size: .92rem;
  margin-top: 2px;
}
.athlete-panel-guest .athlete-name {
  font-size: clamp(2.4rem, 4vw, 3.8rem);
}

.auth-gate {
  padding: 18px;
}
.auth-card-reference {
  width: min(460px, calc(100vw - 40px));
  min-height: clamp(700px, 84dvh, 790px);
  max-height: calc(100dvh - 36px);
  overflow: auto;
  padding: 24px 22px 22px;
  border-radius: 24px;
}

.auth-card-corners,
.auth-card-corners::before,
.auth-card-corners::after {
  inset: 12px;
  border-radius: 18px;
}
.auth-card-corners {
  background:
    linear-gradient(135deg, rgba(0,0,0,0) 0 12px, rgba(183,124,8,.5) 12px 14px, transparent 14px) top left/52px 52px no-repeat,
    linear-gradient(225deg, rgba(0,0,0,0) 0 12px, rgba(183,124,8,.5) 12px 14px, transparent 14px) top right/52px 52px no-repeat,
    linear-gradient(45deg, rgba(0,0,0,0) 0 12px, rgba(183,124,8,.5) 12px 14px, transparent 14px) bottom left/52px 52px no-repeat,
    linear-gradient(-45deg, rgba(0,0,0,0) 0 12px, rgba(183,124,8,.5) 12px 14px, transparent 14px) bottom right/52px 52px no-repeat;
}
.auth-avatar-reference {
  width: clamp(145px, 12vw, 196px);
  height: clamp(145px, 12vw, 196px);
  margin: 0 auto 24px;
  border-width: 3px;
}
.auth-avatar-reference::after {
  inset: 5px;
  border-width: 3.2px;
}

.auth-divider {
  margin: 12px 4px 16px;
  gap: 10px;
  font-size: clamp(.86rem, .95vw, 1rem);
  letter-spacing: .18em;
}
.auth-divider span::before,
.auth-divider span::after {
  margin: 0 10px;
}
.auth-form-reference {
  gap: 14px;
}

.auth-field-icon {
  left: 16px;
  width: 24px;
  height: 24px;
}
.auth-input-reference {
  min-height: 58px;
  padding: 0 18px 0 54px;
  border-radius: 16px;
  border-width: 1.5px;
  font-size: clamp(.98rem, 1vw, 1.05rem);
}
.auth-action-reference,
.auth-guest-reference {
  min-height: 60px;
  border-radius: 15px;
}

.auth-action-reference::before,
.auth-guest-reference::before {
  inset: 5px;
  border-width: 3.4px;
  border-radius: 11px;
}

.auth-action-reference {
  margin-top: 28px;
  font-size: clamp(1.5rem, 1.65vw, 1.8rem);
}

.auth-divider-guest {
  margin-top: 82px;
}

.auth-guest-reference {
  font-size: clamp(1.28rem, 1.4vw, 1.5rem);
}
.auth-error-reference {
  margin-top: 10px;
  font-size: .96rem;
}

@media (max-width: 1024px) {
  .athlete-panel {
    padding-top: 82px;
  }
  .action-grid {
    width: min(100%, 620px);
  }
}

@media (max-height: 900px) and (min-width: 900px) {
  .auth-card-reference {
    width: min(430px, calc(100vw - 44px));
    min-height: clamp(650px, 82dvh, 760px);
    padding: 20px 20px 20px;
  }

  .auth-avatar-reference {
    width: 132px;
    height: 132px;
    margin-bottom: 18px;
  }
  .auth-divider {
    margin: 12px 0 12px;
    font-size: .82rem;
  }
  .auth-form-reference {
    gap: 12px;
  }
  .auth-input-reference,
  .auth-action-reference,
  .auth-guest-reference {
    min-height: 54px;
  }
  .athlete-panel {
    padding-top: 68px;
    padding-bottom: 52px;
  }
  .avatar-block {
    width: 126px;
    height: 126px;
  }
  .athlete-name {
    font-size: clamp(2.5rem, 3.8vw, 4rem);
  }
  .athlete-status {
    margin-bottom: 18px;
  }
  .action-grid {
    width: min(100%, 640px);
    gap: 12px 16px;
  }
  .athlete-action {
    min-height: 66px;
    padding-left: 84px;
  }
  .action-icon {
    width: 46px;
    height: 46px;
    left: 16px;
  }
  .athlete-action > span:last-child {
    font-size: clamp(1.2rem, 1.45vw, 1.65rem);
  }
}

@media (max-width: 820px) {
  .athlete-shell { padding: 10px; }
  .athlete-runes { left: 14px; right: 14px; font-size: .64rem; gap: 7px; }
  .athlete-panel {
    min-height: auto;
    padding: 72px 12px 56px;
  }
  .athlete-card-frame { inset: 42px 2px 42px; }
  .tribe-branding {
    top: 64px;
    left: 16px;
    gap: 8px;
  }
  .tribe-branding img { width: 30px; height: 30px; }
  .tribe-branding strong { font-size: 1.05rem; }
  .tribe-branding span { font-size: .72rem; }
  .athlete-top-logo { width: 52px; top: 14px; }
  .avatar-block {
    width: min(34vw, 132px);
    height: min(34vw, 132px);
    margin-bottom: 10px;
  }
  .avatar-mini {
    width: 42px;
    height: 42px;
    border-width: 2px;
  }
  .rank-medal span { font-size: .6rem; }
  .athlete-kicker { font-size: .86rem; }
  .athlete-name { font-size: clamp(2rem, 9vw, 2.8rem); }
  .athlete-status { font-size: .84rem; margin-bottom: 16px; }
  .action-grid,
  .guest-grid {
    grid-template-columns: 1fr;
    width: min(100%, 420px);
    gap: 12px;
  }
  .athlete-action {
    min-height: 58px;
    padding: 12px 14px 12px 72px;
  }
  .action-icon {
    left: 14px;
    width: 38px;
    height: 38px;
  }
  .athlete-action > span:last-child { font-size: 1.18rem; }
  .guest-note { font-size: .82rem; }

  .auth-gate { padding: 10px; }
  .auth-card-reference {
    width: min(94vw, 360px);
    min-height: min(700px, calc(100dvh - 20px));
    max-height: calc(100dvh - 20px);
    padding: 22px 16px 18px;
    border-radius: 20px;
  }

  .auth-card-corners, .auth-card-corners::before, .auth-card-corners::after { inset: 8px; }
  .auth-avatar-reference {
    width: min(35vw, 124px);
    height: min(35vw, 124px);
    margin-bottom: 18px;
  }

  .auth-divider {
    margin: 10px 0 12px;
    gap: 6px;
    font-size: .72rem;
    letter-spacing: .12em;
  }
  .auth-divider span::before,
  .auth-divider span::after { margin: 0 5px; }
  .auth-form-reference { gap: 10px; }

  .auth-field-icon { left: 14px; width: 20px; height: 20px; }
  .auth-input-reference {
    min-height: 48px;
    padding-left: 46px;
    border-radius: 14px;
    font-size: .94rem;
  }
  .auth-action-reference,
  .auth-guest-reference {
    min-height: 50px;
    border-radius: 14px;
  }
  .auth-action-reference::before,
  .auth-guest-reference::before { inset: 4px; border-width: 3.2px; border-radius: 10px; }

  .auth-action-reference { margin-top: 22px; font-size: 1.24rem; }

  .auth-guest-reference { font-size: 1.06rem; }
  .auth-divider-guest { margin-top: 76px; }
  .auth-error-reference { margin-top: 12px; font-size: .86rem; }

}

/* ===== Ajuste fino final do popup de login ===== */
.auth-card-reference {
  padding-bottom: 8px;
}

.auth-avatar-reference {
  width: clamp(172px, 13vw, 214px);
  height: clamp(172px, 13vw, 214px);
  margin: 6px auto 34px;
}

.auth-avatar-reference::after {
  inset: 4px;
  border-width: 3.6px;
}

.auth-divider {
  margin: 6px 4px 14px;
}

.auth-action-reference::before,
.auth-guest-reference::before {
  inset: 3px;
  border-width: 3.8px;
  border-radius: 11px;
}

.auth-action-reference {
  margin-top: 28px;
}

.auth-divider-guest {
  margin-top: 104px;
}

.auth-guest-reference {
  margin-bottom: 0;
}

.auth-error-reference {
  margin-top: 12px;
  margin-bottom: 2px;
}

@media (max-width: 820px) {
  .auth-gate {
    padding: 8px;
    align-items: flex-start;
    overflow: auto;
  }

  .auth-card-reference {
    width: min(94vw, 362px);
    min-height: min(720px, calc(100dvh - 16px));
    max-height: calc(100dvh - 16px);
    padding: 18px 16px 8px;
  }

  .auth-avatar-reference {
    width: min(42vw, 158px);
    height: min(42vw, 158px);
    margin: 4px auto 34px;
  }

  .auth-avatar-reference::after {
    inset: 4px;
    border-width: 3.6px;
  }

  .auth-divider {
    margin: 6px 0 14px;
  }

  .auth-action-reference,
  .auth-guest-reference {
    min-height: 50px;
  }

  .auth-action-reference {
    margin-top: 26px;
  }

  .auth-action-reference::before,
  .auth-guest-reference::before {
    inset: 3px;
    border-width: 3.8px;
    border-radius: 10px;
  }

  .auth-divider-guest {
    margin-top: 104px;
  }
}

/* ===== Ajuste de espaçamento fino desktop/mobile ===== */
.auth-card-reference {
  padding-bottom: 22px;
}

.auth-divider-guest {
  margin-top: 96px;
}

.auth-guest-reference {
  margin-bottom: 14px;
}

@media (max-width: 820px) {
  .auth-card-reference {
    min-height: auto;
    height: auto;
    max-height: none;
    padding-bottom: 18px;
  }

  .auth-divider-guest {
    margin-top: 92px;
  }

  .auth-guest-reference {
    margin-bottom: 8px;
  }
}

/* ===== Ajuste visual dos botões: couro amarelo + costura preta fina ===== */
.auth-action-reference,
.auth-guest-reference,
.athlete-action,
.avatar-edit {
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.04)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #dca014;
}

.auth-action-reference::before,
.auth-guest-reference::before,
.athlete-action::before {
  border-color: #000000;
  border-width: 2.8px;
}

@media (max-width: 820px) {
  .auth-action-reference::before,
  .auth-guest-reference::before {
    border-width: 2.6px;
  }
}


/* ===== Ajuste fino da costura: 1px mais fina e mais rente ===== */
.auth-action-reference::before,
.auth-guest-reference::before,
.athlete-action::before {
  inset: 2px;
  border-color: #000000;
  border-width: 1.8px;
}

.auth-avatar-reference::after {
  inset: 5px;
  border-color: #000000;
  border-width: 1.8px;
}

@media (max-width: 820px) {
  .auth-action-reference::before,
  .auth-guest-reference::before {
    inset: 2px;
    border-width: 1.8px;
  }

  .auth-avatar-reference::after {
    inset: 5px;
    border-width: 1.8px;
  }
}


/* ===== Ajuste final de tipografia do popup ===== */
.auth-divider {
  text-transform: none;
  letter-spacing: .12em;
}

.auth-action-reference,
.auth-guest-reference {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  letter-spacing: .01em;
  text-transform: uppercase;
}

.auth-action-reference {
  font-size: clamp(1.46rem, 1.62vw, 1.76rem);
}

.auth-guest-reference {
  font-size: clamp(1.2rem, 1.34vw, 1.42rem);
}


/* ===== Responsividade real do popup inteiro ===== */
.auth-gate {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
  padding: 12px !important;
}

.auth-scale-shell {
  position: relative;
  flex: 0 0 auto;
}

.auth-card-reference {
  width: 460px !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
  transform-origin: top left;
}

@media (max-width: 820px) {
  .auth-gate {
    align-items: center !important;
    overflow: auto !important;
    padding: 8px !important;
  }

  .auth-card-reference {
    width: 460px !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
  }
}

/* ===== Validação visual do login ===== */
.auth-field .auth-input-reference {
  transition: border-color .18s ease, box-shadow .18s ease;
}

.auth-field.is-valid .auth-input-reference {
  border-color: #2eb85c !important;
  box-shadow: 0 0 0 2px rgba(46, 184, 92, .16), inset 0 0 0 1px rgba(46, 184, 92, .12) !important;
}

.auth-field.is-invalid .auth-input-reference {
  border-color: #d94141 !important;
  box-shadow: 0 0 0 2px rgba(217, 65, 65, .14), inset 0 0 0 1px rgba(217, 65, 65, .10) !important;
}

.auth-error-reference {
  color: #e24b4b !important;
  font-weight: 400 !important;
}


/* ===== Funções por categoria de usuário + vermelho sangue ===== */
.auth-field.is-invalid .auth-input-reference {
  border-color: #8b0000 !important;
  box-shadow: 0 0 0 2px rgba(139,0,0,.18), inset 0 0 0 1px rgba(139,0,0,.14) !important;
}
.auth-error-reference {
  color: #a40000 !important;
  font-weight: 400 !important;
}

/* Iniciante: acesso básico */
.role-iniciante .action-armario,
.role-iniciante .action-votacao,
.role-iniciante .action-caixinha {
  display: none !important;
}

/* Vitalício: tudo de membro, sem ferramentas exclusivas de administração */
.role-vitalicio .action-caixinha {
  display: none !important;
}

/* Administrador: todas as opções ficam visíveis */
.role-admin .athlete-action {
  display: block;
}

/* ===== Correção definitiva: esconder o popup e feedback verde de sucesso ===== */
.auth-gate[hidden] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.auth-action-reference.is-success,
.auth-guest-reference.is-success {
  border-color: #159447 !important;
  box-shadow: 0 0 0 3px rgba(21, 148, 71, .22), 0 10px 22px rgba(0,0,0,.2), inset 0 0 0 2px rgba(21, 148, 71, .35) !important;
}

.auth-action-reference.is-success::before,
.auth-guest-reference.is-success::before {
  border-color: #0b7e37 !important;
}

/* ===== Painel vitalício + sessão persistente ===== */
.logout-button {
  position: absolute;
  top: clamp(72px, 6.5vw, 104px);
  right: clamp(26px, 4vw, 58px);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 0;
  background: transparent;
  color: #d99d0d;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(.9rem, 1.1vw, 1.15rem);
  font-weight: 700;
  letter-spacing: .05em;
  cursor: pointer;
}
.logout-button svg {
  width: clamp(27px, 2.4vw, 38px);
  height: clamp(27px, 2.4vw, 38px);
  fill: currentColor;
}
.logout-button:hover,
.logout-button:focus-visible {
  color: #ffc72c;
  filter: drop-shadow(0 0 7px rgba(255,190,20,.28));
}

.athlete-panel::before {
  content: "";
  position: absolute;
  left: clamp(28px, 5vw, 86px);
  top: 22%;
  width: min(27vw, 340px);
  aspect-ratio: 1;
  background: url("images/logo-grupo-runas-topo.png") center/contain no-repeat;
  opacity: .045;
  filter: grayscale(1);
  pointer-events: none;
}

/* A referência do vitalício possui os seis atalhos. */
.role-vitalicio .action-caixinha {
  display: flex !important;
}

.role-admin .athlete-action,
.role-vitalicio .athlete-action {
  display: flex;
}

@media (max-width: 820px) {
  .logout-button {
    top: 58px;
    right: 14px;
    gap: 5px;
    font-size: .72rem;
  }
  .logout-button svg {
    width: 24px;
    height: 24px;
  }
  .athlete-panel::before {
    width: 55vw;
    left: -10vw;
    top: 30%;
  }
}

/* =========================================================
   REFINO DO PAINEL DO ATLETA — PROPORÇÃO DA REFERÊNCIA
   ========================================================= */
.athlete-panel {
  max-width: 1500px;
  padding-top: clamp(78px, 7vh, 96px);
  padding-bottom: clamp(48px, 5vh, 70px);
}

.athlete-core {
  width: min(100%, 690px);
}

.avatar-block {
  width: clamp(150px, 12vw, 205px);
  height: clamp(150px, 12vw, 205px);
  margin-bottom: 14px;
}

.avatar-edit {
  width: clamp(48px, 3.7vw, 62px);
  height: clamp(48px, 3.7vw, 62px);
}

.avatar-rank {
  position: absolute;
  right: -17%;
  bottom: -4%;
  width: clamp(72px, 5.8vw, 96px);
  height: clamp(72px, 5.8vw, 96px);
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible;
  z-index: 4;
}

.avatar-rank img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 5px 8px rgba(0,0,0,.5));
}

.athlete-kicker {
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(.92rem, 1.05vw, 1.15rem);
  font-weight: 400;
  letter-spacing: .14em;
}

.athlete-name,
.athlete-panel-guest .athlete-name {
  margin: 5px 0 8px;
  font-family: "Arial Narrow", "Segoe UI", Arial, sans-serif;
  font-size: clamp(2.8rem, 4.1vw, 4.2rem);
  font-weight: 700;
  letter-spacing: .025em;
  line-height: .96;
  text-shadow: 0 2px 0 rgba(75,44,0,.38), 0 6px 12px rgba(0,0,0,.28);
}

.athlete-status {
  margin-bottom: clamp(18px, 2vh, 25px);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(.92rem, 1vw, 1.08rem);
  font-weight: 400;
  letter-spacing: .14em;
}

.action-grid {
  width: min(100%, 570px);
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
}

.athlete-action {
  min-height: 72px;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
  border-radius: 12px;
  text-align: left;
}

.athlete-action::before {
  inset: 4px;
  border-width: 1.7px;
  border-color: #15100a;
  border-radius: 9px;
}

.action-icon-img {
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  object-fit: contain;
  display: block;
}

.athlete-action > span:last-child {
  position: relative;
  z-index: 2;
  flex: 0 1 auto;
  min-width: 0;
  color: #090909;
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: clamp(.92rem, 1vw, 1.08rem);
  font-weight: 700;
  letter-spacing: .01em;
  line-height: 1.05;
  white-space: nowrap;
  text-align: left;
}

.logout-button {
  font-family: "Segoe UI", Arial, sans-serif;
  font-weight: 700;
  font-size: .9rem;
  letter-spacing: .04em;
}

@media (max-height: 760px) and (min-width: 821px) {
  .athlete-panel { padding-top: 62px; padding-bottom: 38px; }
  .avatar-block { width: 132px; height: 132px; margin-bottom: 8px; }
  .avatar-edit { width: 44px; height: 44px; }
  .avatar-rank { width: 66px; height: 66px; }
  .athlete-kicker { font-size: .82rem; }
  .athlete-name, .athlete-panel-guest .athlete-name { font-size: 2.7rem; }
  .athlete-status { font-size: .82rem; margin-bottom: 14px; }
  .action-grid { width: 540px; gap: 10px 16px; }
  .athlete-action { min-height: 62px; }
  .action-icon-img { width: 40px; height: 40px; }
  .athlete-action > span:last-child { font-size: .88rem; }
}

@media (max-width: 820px) {
  .athlete-core { width: min(100%, 420px); }
  .avatar-block { width: min(36vw, 142px); height: min(36vw, 142px); }
  .avatar-rank { width: 58px; height: 58px; right: -15%; }
  .athlete-name, .athlete-panel-guest .athlete-name { font-size: clamp(2rem, 8vw, 2.9rem); }
  .action-grid { width: min(100%, 360px); grid-template-columns: 1fr; gap: 10px; }
  .athlete-action { min-height: 58px; padding: 8px 14px; gap: 12px; }
  .action-icon-img { width: 38px; height: 38px; }
  .athlete-action > span:last-child { font-size: .92rem; }
}

/* ===== Ajuste solicitado: sair no canto, marca d'água inferior e botões compactos ===== */
.logout-button {
  top: clamp(44px, 4.2vw, 58px);
  right: clamp(10px, 1.4vw, 20px);
}

.athlete-panel::before {
  left: clamp(-54px, -2.8vw, -18px);
  top: auto;
  bottom: clamp(18px, 3vh, 34px);
  width: min(38vw, 500px);
}

.action-grid {
  width: min(100%, 500px);
  gap: 10px 14px;
}

.athlete-action {
  min-height: 66px;
  padding: 8px 14px;
  gap: 10px;
}

.action-icon-img {
  width: 42px;
  height: 42px;
}

.athlete-action > span:last-child {
  font-size: clamp(.86rem, .92vw, 1rem);
}

@media (max-height: 760px) and (min-width: 821px) {
  .logout-button {
    top: 36px;
    right: 10px;
  }

  .athlete-panel::before {
    left: -44px;
    bottom: 12px;
    width: min(39vw, 440px);
  }

  .action-grid {
    width: 470px;
    gap: 9px 12px;
  }

  .athlete-action {
    min-height: 58px;
    padding: 7px 12px;
    gap: 9px;
  }

  .action-icon-img {
    width: 37px;
    height: 37px;
  }
}

@media (max-width: 820px) {
  .logout-button {
    top: 48px;
    right: 6px;
  }

  .athlete-panel::before {
    left: -18vw;
    top: auto;
    bottom: 2%;
    width: 72vw;
  }

  .action-grid {
    width: min(100%, 330px);
  }
}


/* ===== Botões finais compactos e ícones oficiais ===== */
.action-grid {
  width: max-content;
  max-width: 100%;
  grid-template-columns: max-content max-content;
  justify-content: center;
  column-gap: 12px;
  row-gap: 9px;
}

.athlete-action {
  width: max-content;
  min-width: 0;
  min-height: 54px;
  padding: 6px 12px 6px 9px;
  gap: 8px;
}

.action-icon-img {
  width: 36px;
  height: 36px;
}

.athlete-action > span:last-child {
  font-size: .86rem;
  font-weight: 600;
  letter-spacing: 0;
}

@media (max-height: 760px) and (min-width: 821px) {
  .action-grid {
    width: max-content;
    grid-template-columns: max-content max-content;
    column-gap: 10px;
    row-gap: 8px;
  }

  .athlete-action {
    width: max-content;
    min-height: 50px;
    padding: 5px 11px 5px 8px;
    gap: 7px;
  }

  .action-icon-img {
    width: 33px;
    height: 33px;
  }

  .athlete-action > span:last-child {
    font-size: .82rem;
  }
}

@media (max-width: 820px) {
  .action-grid {
    width: max-content;
    max-width: 100%;
    grid-template-columns: 1fr;
    justify-items: start;
    gap: 8px;
  }

  .athlete-action {
    width: max-content;
    max-width: 100%;
    min-height: 50px;
    padding: 5px 11px 5px 8px;
    gap: 8px;
  }

  .action-icon-img {
    width: 34px;
    height: 34px;
  }
}

/* ===== Correção: todos os botões com o mesmo tamanho do Meu Analítico ===== */
.action-grid {
  width: auto;
  max-width: 100%;
  grid-template-columns: repeat(2, 230px);
  justify-content: center;
  column-gap: 12px;
  row-gap: 9px;
}

.athlete-action {
  width: 230px;
  min-width: 230px;
  max-width: 230px;
  justify-content: flex-start;
  text-align: left;
}

.action-icon-img {
  flex: 0 0 36px;
}

.athlete-action > span:last-child {
  flex: 1 1 auto;
  text-align: left;
}

@media (max-height: 760px) and (min-width: 821px) {
  .action-grid {
    grid-template-columns: repeat(2, 220px);
  }

  .athlete-action {
    width: 220px;
    min-width: 220px;
    max-width: 220px;
  }
}

@media (max-width: 820px) {
  .action-grid {
    width: min(230px, calc(100vw - 44px));
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
  }

  .athlete-action {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

/* ===== Ajuste final: largura única 20% menor, baseada em Meu Analítico ===== */
.action-grid {
  grid-template-columns: repeat(2, 184px);
  column-gap: 12px;
}

.athlete-action {
  width: 184px;
  min-width: 184px;
  max-width: 184px;
  padding-right: 9px;
  justify-content: flex-start;
  text-align: left;
}

.action-icon-img {
  flex: 0 0 36px;
}

.athlete-action > span:last-child {
  flex: 0 1 auto;
  text-align: left;
  white-space: nowrap;
}

@media (max-height: 760px) and (min-width: 821px) {
  .action-grid {
    grid-template-columns: repeat(2, 176px);
  }

  .athlete-action {
    width: 176px;
    min-width: 176px;
    max-width: 176px;
  }
}

@media (max-width: 820px) {
  .action-grid {
    width: min(184px, calc(100vw - 44px));
    grid-template-columns: minmax(0, 1fr);
  }

  .athlete-action {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
}

/* ===== Editar perfil do atleta ===== */
.avatar-main.has-photo .avatar-person,
.avatar-main-edit.has-photo .avatar-person {
  opacity: 0;
}

.avatar-photo-preview,
.profile-photo-image {
  position: absolute;
  inset: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  object-fit: cover;
  border-radius: 50%;
  z-index: 2;
}

.edit-profile-page .athlete-panel {
  padding-top: 74px;
}

.edit-profile-core {
  position: relative;
  z-index: 2;
  width: min(100%, 720px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.edit-avatar-block {
  margin-bottom: 8px;
}

.avatar-main-edit {
  border: none;
  cursor: pointer;
  background-color: rgba(10, 10, 10, .45);
}

.avatar-main-edit:focus-visible,
.avatar-camera:focus-visible,
.profile-save-button:focus-visible,
.profile-input:focus-visible,
.profile-select:focus-visible {
  outline: 2px solid rgba(224, 164, 20, .95);
  outline-offset: 2px;
}

.avatar-camera {
  background-image: url("texturas do site/textura-base-janelas-couro-amarelo.png");
  background-size: cover;
  background-position: center;
}

.avatar-camera svg {
  width: 52%;
  height: 52%;
  fill: #14110a;
}

.edit-profile-form {
  width: min(100%, 640px);
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(260px, 1.7fr);
  gap: 12px 16px;
  align-items: center;
}

.profile-row {
  display: contents;
}

.profile-label {
  color: #f0b61e;
  text-transform: uppercase;
  font-size: clamp(1.08rem, 1vw + .72rem, 1.48rem);
  font-weight: 700;
  letter-spacing: .03em;
  text-align: right;
  padding-right: 14px;
  line-height: 1.1;
}

.profile-input {
  width: 100%;
  height: 48px;
  border-radius: 6px;
  border: 2px solid rgba(222, 166, 33, .76);
  background: rgba(9, 8, 7, .86);
  color: #f2ece3;
  padding: 0 16px;
  font-size: 1rem;
  font-family: inherit;
  box-sizing: border-box;
  box-shadow: inset 0 0 0 1px rgba(17, 13, 6, .62);
}

.profile-input::placeholder {
  color: rgba(239, 233, 220, .6);
}

.profile-select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 42px;
  background-image:
    linear-gradient(45deg, transparent 50%, #e0a414 50%),
    linear-gradient(135deg, #e0a414 50%, transparent 50%);
  background-position:
    calc(100% - 26px) 19px,
    calc(100% - 17px) 19px;
  background-size: 9px 9px, 9px 9px;
  background-repeat: no-repeat;
}

.profile-save-button {
  grid-column: 1 / -1;
  justify-self: center;
  margin-top: 10px;
  width: min(100%, 452px);
  min-height: 64px;
  border: none;
  border-radius: 4px;
  background-image: url("texturas do site/textura-base-janelas-couro-amarelo.png");
  background-size: cover;
  background-position: center;
  color: #111;
  font-size: clamp(1.7rem, 1.1vw + 1rem, 2.15rem);
  font-weight: 800;
  letter-spacing: .01em;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(236, 195, 93, .12);
}

.profile-save-feedback {
  grid-column: 1 / -1;
  margin: -2px 0 0;
  text-align: center;
  color: #7ed27e;
  font-size: .96rem;
}

.profile-save-feedback.is-error {
  color: #d74b2c;
}

@media (max-width: 980px) {
  .edit-profile-form {
    width: min(100%, 600px);
    grid-template-columns: minmax(132px, 1fr) minmax(230px, 1.8fr);
  }

  .profile-label {
    font-size: 1.02rem;
    padding-right: 12px;
  }

  .profile-input {
    height: 46px;
  }
}

@media (max-width: 720px) {
  .edit-profile-page .athlete-panel {
    padding-top: 64px;
  }

  .edit-profile-core {
    gap: 18px;
  }

  .edit-profile-form {
    width: min(100%, 420px);
    grid-template-columns: 1fr;
    gap: 10px;
  }

  

  .profile-label {
    text-align: left;
    padding-right: 0;
    font-size: .96rem;
  }

  .profile-input {
    height: 44px;
  }

  .profile-save-button {
    width: 100%;
    min-height: 58px;
    font-size: 1.45rem;
  }
}


/* ===== Ajuste final: lápis sem círculo amarelo no painel da tribo de vôlei ===== */
.avatar-edit {
  top: -2%;
  right: -10%;
  width: clamp(26px, 2.3vw, 34px);
  height: clamp(26px, 2.3vw, 34px);
  display: grid;
  place-items: center;
  padding: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  cursor: pointer;
  z-index: 5;
}
.avatar-edit::before,
.avatar-edit::after {
  content: none !important;
  display: none !important;
}
.avatar-edit img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.35));
}
.avatar-edit svg {
  display: none !important;
}
@media (max-width: 820px) {
  .avatar-edit {
    top: -3%;
    right: -9%;
    width: 28px;
    height: 28px;
  }
}

/* ===== Responsividade real da tela de editar perfil ===== */
.edit-profile-page {
  overflow: hidden;
}

.edit-profile-shell {
  position: relative;
  width: 100vw;
  height: 100dvh;
  min-height: 0;
  overflow: hidden;
}

.edit-profile-scale-shell {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 18px 26px;
  box-sizing: border-box;
  pointer-events: none;
}

.edit-profile-panel {
  position: relative;
  width: 1280px;
  height: 760px;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0;
  padding: 70px 38px 48px !important;
  box-sizing: border-box;
  transform-origin: center center;
  pointer-events: auto;
}

.edit-profile-panel .athlete-card-frame {
  inset: 46px 10px 44px;
}

.edit-profile-core {
  width: 660px;
  gap: 12px;
}

.edit-profile-core .edit-avatar-block {
  width: 142px;
  height: 142px;
  margin: 0 0 4px;
}

.edit-profile-core .avatar-camera {
  width: 42px;
  height: 42px;
  right: -18%;
  top: 4%;
}

.edit-profile-core .edit-rank {
  width: 72px;
  height: 72px;
  right: -20%;
  bottom: -2%;
}

.edit-profile-form {
  width: 600px;
  grid-template-columns: 190px 330px;
  gap: 8px 14px;
}

.profile-label {
  font-size: 1rem;
  padding-right: 10px;
}

.profile-input {
  height: 38px;
  font-size: .92rem;
  padding: 0 13px;
}

.profile-select {
  background-position: calc(100% - 23px) 14px, calc(100% - 15px) 14px;
  background-size: 8px 8px, 8px 8px;
}

.profile-save-button {
  width: 330px;
  min-height: 52px;
  margin-top: 6px;
  font-size: 1.55rem;
}

.profile-save-feedback {
  font-size: .85rem;
}

/* O lápis do painel principal fica 35% menor, avulso e afastado da moldura. */
.avatar-edit {
  width: clamp(17px, 1.5vw, 22px) !important;
  height: clamp(17px, 1.5vw, 22px) !important;
  top: -4% !important;
  right: -12% !important;
}

@media (max-width: 820px) {
  .edit-profile-panel {
    width: 1280px;
    height: 760px;
    padding: 70px 38px 48px !important;
  }

  .edit-profile-form {
    width: 600px;
    grid-template-columns: 190px 330px;
    gap: 8px 14px;
  }

  .profile-row {
    display: contents;
  }

  .profile-label {
    text-align: right;
    padding-right: 10px;
    font-size: 1rem;
  }

  .profile-input {
    height: 38px;
  }

  .profile-save-button {
    width: 330px;
    min-height: 52px;
    font-size: 1.55rem;
  }

  .avatar-edit {
    width: 18px !important;
    height: 18px !important;
    top: -5% !important;
    right: -11% !important;
  }
}

/* ===== Ajustes finais: brasão menor, sem barra vertical e lápis mais próximo ===== */
.avatar-link {
  display: none !important;
}

.avatar-rank {
  width: clamp(61px, 4.93vw, 82px) !important;
  height: clamp(61px, 4.93vw, 82px) !important;
}

.avatar-edit {
  top: -1% !important;
  right: -3% !important;
}

.edit-profile-core .edit-rank {
  width: 61px !important;
  height: 61px !important;
  right: -17% !important;
  bottom: -1% !important;
}

@media (max-height: 760px) and (min-width: 821px) {
  .avatar-rank {
    width: 56px !important;
    height: 56px !important;
  }
}

@media (max-width: 820px) {
  .avatar-rank {
    width: 49px !important;
    height: 49px !important;
    right: -12% !important;
  }

  .avatar-edit {
    top: -1% !important;
    right: -2% !important;
  }
}

/* ===== Ajuste final do avatar: foto preenchendo moldura, aro em couro e costura centralizada ===== */
.avatar-main,
.avatar-main-edit {
  border: 0 !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.04)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #dca014 !important;
  overflow: hidden;
  box-shadow: 0 16px 30px rgba(0,0,0,.5), inset 0 0 0 1px rgba(19,12,3,.18);
}

.avatar-main::before,
.avatar-main-edit::before {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 44%, rgba(17,17,17,1) 0 55%, rgba(7,7,7,1) 56% 100%),
    #0a0a0a;
  box-shadow: inset 0 0 0 1px rgba(10,10,10,.85);
  z-index: 1;
}

.avatar-main::after,
.avatar-main-edit::after {
  content: "";
  position: absolute;
  inset: 5px !important;
  border: 1.8px dashed #000000 !important;
  border-radius: 50%;
  z-index: 4;
  pointer-events: none;
}

.avatar-person {
  z-index: 2;
}

.avatar-photo-preview,
.profile-photo-image {
  inset: 12px !important;
  width: calc(100% - 24px) !important;
  height: calc(100% - 24px) !important;
  object-fit: cover;
  object-position: center center;
  border-radius: 50%;
  z-index: 2;
}

@media (max-width: 820px) {
  .avatar-main::before,
  .avatar-main-edit::before {
    inset: 11px;
  }

  .avatar-main::after,
  .avatar-main-edit::after {
    inset: 5px !important;
    border-width: 1.8px !important;
  }

  .avatar-photo-preview,
  .profile-photo-image {
    inset: 11px !important;
    width: calc(100% - 22px) !important;
    height: calc(100% - 22px) !important;
  }
}


/* ===== Ajuste final: aro do avatar 40% mais fino e foto dinâmica no login ===== */
.avatar-main::before,
.avatar-main-edit::before {
  inset: 7px !important;
}

.avatar-main::after,
.avatar-main-edit::after {
  inset: 3px !important;
}

.avatar-photo-preview,
.profile-photo-image {
  inset: 7px !important;
  width: calc(100% - 14px) !important;
  height: calc(100% - 14px) !important;
}

.auth-avatar-reference {
  overflow: hidden;
}

.auth-avatar-reference.has-photo .auth-avatar-head,
.auth-avatar-reference.has-photo .auth-avatar-body {
  opacity: 0;
}

.auth-avatar-photo {
  position: absolute;
  inset: 7px;
  width: calc(100% - 14px);
  height: calc(100% - 14px);
  border-radius: 50%;
  object-fit: cover;
  object-position: center center;
  z-index: 3;
}

.auth-avatar-reference::after {
  z-index: 4;
  pointer-events: none;
}

@media (max-width: 820px) {
  .avatar-main::before,
  .avatar-main-edit::before {
    inset: 7px !important;
  }

  .avatar-main::after,
  .avatar-main-edit::after {
    inset: 3px !important;
  }

  .avatar-photo-preview,
  .profile-photo-image {
    inset: 7px !important;
    width: calc(100% - 14px) !important;
    height: calc(100% - 14px) !important;
  }
}


/* ===== Reconstrução responsiva real da tela de edição de perfil ===== */
.edit-profile-page,
.edit-profile-page body {
  min-height: 100%;
}

.edit-profile-page {
  overflow: hidden !important;
}

.edit-profile-shell {
  position: relative;
  width: 100%;
  height: 100dvh;
  min-height: 520px;
  overflow: hidden;
  padding: 0 !important;
}

.edit-profile-scale-shell {
  position: absolute;
  inset: 40px 14px 38px;
  display: block;
  width: auto !important;
  height: auto !important;
  padding: 0;
  pointer-events: auto;
}

.edit-profile-panel {
  position: relative;
  width: min(1120px, 100%) !important;
  height: 100% !important;
  min-height: 0 !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: clamp(48px, 6vh, 66px) clamp(20px, 4vw, 44px) clamp(18px, 3vh, 30px) !important;
  transform: none !important;
  transform-origin: center !important;
  box-sizing: border-box;
  overflow: visible;
}

.edit-profile-panel .athlete-card-frame {
  inset: 20px 4px 14px !important;
}

.edit-profile-panel .tribe-branding {
  top: clamp(42px, 6vh, 64px) !important;
  left: clamp(18px, 3vw, 42px) !important;
  transform: scale(.82);
  transform-origin: left top;
}

.edit-profile-panel .logout-button {
  top: clamp(42px, 6vh, 62px) !important;
  right: clamp(18px, 3vw, 38px) !important;
  transform: scale(.86);
  transform-origin: right top;
}

.edit-profile-core {
  position: relative;
  z-index: 3;
  width: min(620px, 72vw) !important;
  height: 100%;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, 1fr);
  justify-items: center;
  align-content: center;
  gap: clamp(8px, 1.4vh, 14px) !important;
}

.edit-profile-core .edit-avatar-block {
  width: clamp(88px, 14vh, 128px) !important;
  height: clamp(88px, 14vh, 128px) !important;
  margin: 0 !important;
  flex: none;
}

.edit-profile-core .avatar-camera {
  width: clamp(25px, 4.2vh, 36px) !important;
  height: clamp(25px, 4.2vh, 36px) !important;
  right: -12% !important;
  top: 4% !important;
}

.edit-profile-core .edit-rank {
  width: clamp(42px, 6.8vh, 60px) !important;
  height: clamp(42px, 6.8vh, 60px) !important;
  right: -15% !important;
  bottom: -3% !important;
}

.edit-profile-form {
  width: min(100%, 560px) !important;
  align-self: start;
  display: grid !important;
  grid-template-columns: minmax(118px, 170px) minmax(220px, 1fr) !important;
  grid-auto-rows: minmax(31px, auto);
  gap: clamp(4px, .75vh, 8px) clamp(8px, 1.2vw, 14px) !important;
  align-items: center;
}

.edit-profile-form .profile-row {
  display: contents !important;
}

.edit-profile-form .profile-label {
  font-size: clamp(.72rem, 1.15vh, .95rem) !important;
  line-height: 1.05;
  padding-right: 6px !important;
  text-align: right !important;
  white-space: normal;
}

.edit-profile-form .profile-input {
  height: clamp(31px, 4.5vh, 39px) !important;
  min-height: 0 !important;
  padding: 0 11px !important;
  font-size: clamp(.76rem, 1.35vh, .94rem) !important;
  border-width: 1.5px !important;
}

.edit-profile-form .profile-select {
  background-position: calc(100% - 22px) 50%, calc(100% - 14px) 50% !important;
  background-size: 7px 7px, 7px 7px !important;
}

.edit-profile-form .profile-save-button {
  grid-column: 1 / -1;
  width: min(100%, 330px) !important;
  min-height: 0 !important;
  height: clamp(42px, 6vh, 54px) !important;
  margin-top: clamp(3px, .7vh, 7px) !important;
  font-size: clamp(1.15rem, 2.2vh, 1.55rem) !important;
  position: relative;
  z-index: 6;
}

.edit-profile-form .profile-save-feedback {
  grid-column: 1 / -1;
  font-size: clamp(.72rem, 1.2vh, .9rem) !important;
  min-height: 1em;
  margin: 0 !important;
}

.edit-profile-page .athlete-runes-top,
.edit-profile-page .athlete-runes-bottom {
  z-index: 8;
  pointer-events: none;
}

.edit-profile-page .athlete-runes-bottom {
  bottom: 5px !important;
}

@media (max-width: 720px) {
  .edit-profile-scale-shell {
    inset: 38px 8px 36px;
  }

  .edit-profile-panel {
    padding: 44px 12px 14px !important;
  }

  .edit-profile-panel .tribe-branding {
    top: 42px !important;
    left: 12px !important;
    transform: scale(.58);
  }

  .edit-profile-panel .logout-button {
    top: 42px !important;
    right: 10px !important;
    transform: scale(.68);
  }

  .edit-profile-core {
    width: min(100%, 390px) !important;
    gap: 7px !important;
  }

  .edit-profile-core .edit-avatar-block {
    width: clamp(76px, 16vh, 104px) !important;
    height: clamp(76px, 16vh, 104px) !important;
  }

  .edit-profile-form {
    width: 100% !important;
    grid-template-columns: minmax(92px, 114px) minmax(0, 1fr) !important;
    gap: 4px 7px !important;
  }

  .edit-profile-form .profile-label {
    font-size: clamp(.64rem, 1.45vh, .78rem) !important;
    padding-right: 2px !important;
  }

  .edit-profile-form .profile-input {
    height: clamp(29px, 4.2vh, 34px) !important;
    font-size: clamp(.7rem, 1.55vh, .82rem) !important;
    padding: 0 8px !important;
  }

  .edit-profile-form .profile-save-button {
    height: clamp(38px, 5.7vh, 46px) !important;
    width: min(100%, 250px) !important;
    font-size: clamp(1rem, 2.5vh, 1.25rem) !important;
  }
}

@media (max-height: 620px) {
  .edit-profile-scale-shell {
    inset: 32px 8px 30px;
  }

  .edit-profile-panel {
    padding-top: 36px !important;
    padding-bottom: 8px !important;
  }

  .edit-profile-panel .tribe-branding,
  .edit-profile-panel .logout-button {
    top: 34px !important;
  }

  .edit-profile-core .edit-avatar-block {
    width: 72px !important;
    height: 72px !important;
  }

  .edit-profile-form {
    gap: 3px 8px !important;
  }

  .edit-profile-form .profile-input {
    height: 28px !important;
  }

  .edit-profile-form .profile-save-button {
    height: 37px !important;
  }
}

/* ===== Refinamento da edição: avatar maior, formulário compacto e troca sobre a foto ===== */
.edit-profile-page .athlete-top-logo {
  top: 7px !important;
  width: clamp(54px, 5.2vw, 70px) !important;
  z-index: 10;
}

.edit-profile-scale-shell {
  inset: 58px 14px 34px !important;
}

.edit-profile-panel {
  padding-top: clamp(54px, 7vh, 68px) !important;
  padding-bottom: clamp(14px, 2vh, 22px) !important;
}

.edit-profile-core {
  width: min(100%, 500px) !important;
  gap: clamp(6px, 1vh, 10px) !important;
  align-content: center !important;
}

.edit-profile-core .edit-avatar-block {
  width: clamp(148px, 21vh, 190px) !important;
  height: clamp(148px, 21vh, 190px) !important;
  margin: 0 0 4px !important;
}

.edit-profile-core .avatar-camera {
  display: none !important;
}

.profile-photo-change-overlay {
  position: absolute;
  inset: 12px;
  width: calc(100% - 24px);
  height: calc(100% - 24px);
  object-fit: contain;
  z-index: 6;
  opacity: .88;
  pointer-events: none;
  filter: drop-shadow(0 2px 4px rgba(0,0,0,.45));
}

.avatar-main-edit:hover .profile-photo-change-overlay,
.avatar-main-edit:focus-visible .profile-photo-change-overlay {
  opacity: 1;
}

.edit-profile-core .edit-rank {
  width: clamp(52px, 7.4vh, 68px) !important;
  height: clamp(52px, 7.4vh, 68px) !important;
  right: -12% !important;
  bottom: -2% !important;
}

.edit-profile-form {
  width: min(100%, 458px) !important;
  grid-template-columns: 152px 276px !important;
  gap: clamp(4px, .7vh, 7px) 10px !important;
}

.edit-profile-form .profile-input {
  width: 276px !important;
  max-width: 276px !important;
}

.edit-profile-form .profile-save-button {
  width: 276px !important;
  height: clamp(40px, 5.7vh, 50px) !important;
}

@media (max-width: 720px) {
  .edit-profile-page .athlete-top-logo {
    top: 5px !important;
    width: 52px !important;
  }

  .edit-profile-scale-shell {
    inset: 52px 7px 30px !important;
  }

  .edit-profile-panel {
    padding-top: 48px !important;
  }

  .edit-profile-core {
    width: min(100%, 360px) !important;
    gap: 5px !important;
  }

  .edit-profile-core .edit-avatar-block {
    width: clamp(112px, 19vh, 142px) !important;
    height: clamp(112px, 19vh, 142px) !important;
  }

  .edit-profile-form {
    width: min(100%, 332px) !important;
    grid-template-columns: 102px minmax(0, 220px) !important;
    gap: 3px 7px !important;
  }

  .edit-profile-form .profile-input {
    width: 100% !important;
    max-width: 220px !important;
  }

  .edit-profile-form .profile-save-button {
    width: 220px !important;
  }

  .profile-photo-change-overlay {
    inset: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }
}

@media (max-height: 620px) {
  .edit-profile-scale-shell {
    inset: 46px 7px 26px !important;
  }

  .edit-profile-panel {
    padding-top: 42px !important;
  }

  .edit-profile-core .edit-avatar-block {
    width: 104px !important;
    height: 104px !important;
  }

  .edit-profile-form .profile-input {
    height: 27px !important;
  }

  .edit-profile-form .profile-save-button {
    height: 35px !important;
  }
}


/* ===== Ajuste final da edição: X para voltar, brasão afastado e campos 30% menores ===== */
.edit-profile-panel .logout-button {
  display: none !important;
}

.edit-close-button {
  position: absolute;
  top: clamp(40px, 5.2vh, 58px);
  right: clamp(24px, 3vw, 44px);
  z-index: 12;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #e4a70f;
  font-family: Arial, sans-serif;
  font-size: 2rem;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  text-shadow: 0 2px 4px rgba(0,0,0,.45);
}

.edit-close-button:hover,
.edit-close-button:focus-visible {
  color: #ffd15a;
  outline: none;
  transform: scale(1.06);
}

.edit-profile-core .edit-rank {
  right: -27% !important;
  bottom: -2% !important;
}

.edit-profile-form {
  width: min(100%, 376px) !important;
  grid-template-columns: 152px 194px !important;
  justify-content: center !important;
}

.edit-profile-form .profile-input {
  width: 194px !important;
  max-width: 194px !important;
}

.edit-profile-form .profile-save-button {
  width: 194px !important;
}

@media (max-width: 720px) {
  .edit-close-button {
    top: 38px;
    right: 18px;
    width: 32px;
    height: 32px;
    font-size: 1.75rem;
  }

  .edit-profile-core .edit-rank {
    right: -24% !important;
  }

  .edit-profile-form {
    width: min(100%, 274px) !important;
    grid-template-columns: 102px minmax(0, 154px) !important;
  }

  .edit-profile-form .profile-input {
    width: 154px !important;
    max-width: 154px !important;
  }

  .edit-profile-form .profile-save-button {
    width: 154px !important;
  }
}

/* ===== Ajuste fino solicitado: ícone trocar foto maior, brasão mais à direita e X maior no canto ===== */
.profile-photo-change-overlay {
  inset: 4px !important;
  width: calc(100% - 8px) !important;
  height: calc(100% - 8px) !important;
  opacity: 0.9 !important;
}

.edit-profile-core .edit-rank {
  right: -34% !important;
  bottom: -2% !important;
}

.edit-close-button {
  top: clamp(28px, 3.6vh, 44px) !important;
  right: clamp(12px, 1.8vw, 26px) !important;
  width: 40px !important;
  height: 40px !important;
  font-size: 2.2rem !important;
}

@media (max-width: 720px) {
  .profile-photo-change-overlay {
    inset: 4px !important;
    width: calc(100% - 8px) !important;
    height: calc(100% - 8px) !important;
  }

  .edit-profile-core .edit-rank {
    right: -31% !important;
  }

  .edit-close-button {
    top: 24px !important;
    right: 10px !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 1.95rem !important;
  }
}


/* ===== Atualização: novos brasões, deslocamentos e página administrativa ===== */
.avatar-rank {
  transform: translateX(5%) !important;
}
.edit-profile-core .edit-rank {
  transform: translateX(20%) !important;
}
.admin-list-page .athlete-panel {
  max-width: 1400px;
  padding-top: clamp(86px, 8vh, 106px);
  padding-bottom: clamp(42px, 5vh, 62px);
}
.admin-list-page .tribe-branding {
  position: absolute;
  top: clamp(84px, 8vh, 102px);
  left: clamp(28px, 3vw, 52px);
}
.admin-list-core {
  width: min(100%, 760px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.admin-list-copy {
  text-align: center;
}
.admin-list-copy .athlete-kicker { margin-bottom: 6px; }
.admin-list-copy .athlete-name { margin: 0 0 8px; font-size: clamp(2.2rem, 4vw, 3.8rem); }
.admin-list-copy .athlete-status { margin-bottom: 0; }
.admin-list-form {
  width: min(100%, 760px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px 18px;
}
.admin-list-form .profile-row--full { grid-column: 1 / -1; }
.admin-list-form .profile-label { justify-self: end; }
.admin-list-form .profile-input, .admin-list-form textarea.profile-input { width: 100%; max-width: 100%; }
.admin-list-form textarea.profile-input { min-height: 144px; resize: vertical; padding-top: 12px; padding-bottom: 12px; }
.admin-list-form .profile-save-button { grid-column: 2; justify-self: start; width: min(100%, 230px); }
.admin-list-form .secondary-button {
  appearance: none;
  border: 1.5px solid rgba(223,162,17,.88);
  border-radius: 12px;
  padding: 0 18px;
  min-height: 52px;
  background: rgba(7,7,7,.68);
  color: #e6a813;
  font: 700 1rem/1 'Segoe UI', Arial, sans-serif;
  letter-spacing: .04em;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.45);
}
.admin-list-form .secondary-button:hover { color: #ffd45d; border-color: #f2bc2d; }
.admin-list-actions {
  grid-column: 2;
  display: flex;
  gap: 12px;
  align-items: center;
  justify-self: start;
}
.admin-list-output {
  width: min(100%, 760px);
  min-height: 190px;
  white-space: pre-wrap;
  background: rgba(7,7,7,.56);
  border: 1.5px solid rgba(223,162,17,.88);
  border-radius: 16px;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.5);
  padding: 18px 20px;
  color: #f3f0e5;
  font: 500 .98rem/1.55 'Segoe UI', Arial, sans-serif;
}
.admin-list-feedback { margin: 4px 0 0; color: #d8d8d8; font-size: .92rem; }
@media (max-width: 820px) {
  .admin-list-core { width: min(100%, 420px); gap: 14px; }
  .admin-list-form { grid-template-columns: 1fr; gap: 10px; }
  .admin-list-form .profile-row--full, .admin-list-form .profile-save-button, .admin-list-actions { grid-column: auto; }
  .admin-list-form .profile-label { justify-self: start; }
  .admin-list-actions { width: 100%; }
  .admin-list-form .profile-save-button, .admin-list-form .secondary-button { width: 100%; }
  .admin-list-actions { flex-direction: column; align-items: stretch; }
}

/* ===== Gerenciar listas: tela ADM fiel à referência ===== */
.manage-lists-page { overflow: hidden; }
.manage-lists-shell { min-height: 100dvh; }
.manage-lists-panel {
  max-width: 1500px;
  padding: clamp(84px, 8vh, 106px) clamp(36px, 4vw, 72px) clamp(42px, 5vh, 64px);
}
.manage-lists-panel .athlete-card-frame {
  inset: 48px 18px 30px;
  clip-path: polygon(4% 0, 46% 0, 48% 3%, 52% 3%, 54% 0, 96% 0, 100% 12%, 100% 88%, 91% 100%, 9% 100%, 0 82%, 0 20%);
}
.manage-lists-branding {
  position: absolute;
  top: 64px;
  left: 60px;
  transform: scale(.9);
  transform-origin: left top;
}
.manage-lists-logout {
  top: 50px !important;
  right: 28px !important;
}
.manage-lists-core {
  position: relative;
  z-index: 3;
  width: min(100%, 1180px);
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: clamp(24px, 3vh, 40px);
}
.manage-lists-heading-row {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 24px;
  padding-top: 16px;
}
.manage-lists-title {
  margin: 0;
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 22px;
  color: #f1eee7;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.9rem, 2.8vw, 3rem);
  font-weight: 400;
  letter-spacing: .13em;
  white-space: nowrap;
}
.manage-lists-title span {
  width: clamp(44px, 5vw, 72px);
  height: 4px;
  background: linear-gradient(90deg, transparent, #d99400 34%, #d99400 66%, transparent);
  clip-path: polygon(0 50%, 72% 0, 100% 50%, 72% 100%);
}
.manage-lists-title span:last-child { transform: scaleX(-1); }
.create-list-button {
  min-height: 78px;
  padding: 0 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  border: 0;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.05)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #dca014;
  color: #111;
  font: 700 clamp(1rem, 1.3vw, 1.35rem)/1 "Arial Narrow", "Segoe UI", sans-serif;
  letter-spacing: .02em;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,220,130,.15), 0 8px 18px rgba(0,0,0,.24);
}
.create-list-plus {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 3px solid #111;
  font-size: 1.9rem;
  line-height: 1;
  font-weight: 400;
}
.active-lists {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.active-list-card {
  min-height: 128px;
  display: grid;
  grid-template-columns: 104px 1fr 1px 104px;
  align-items: center;
  gap: 20px;
  padding: 0 26px 0 34px;
  border: 2px solid rgba(211,137,0,.85);
  border-radius: 12px;
  background: rgba(7,7,7,.38);
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.6);
}
.active-list-icon {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(211,137,0,.86);
  border-radius: 50%;
  background: rgba(15,15,15,.65);
}
.active-list-icon img {
  width: 68%;
  height: 68%;
  object-fit: contain;
}
.active-list-name {
  color: #e9e7e0;
  font-family: "Arial Narrow", "Segoe UI", Arial, sans-serif;
  font-size: clamp(1.25rem, 1.8vw, 2rem);
  font-weight: 650;
  letter-spacing: .02em;
}
.active-list-divider {
  width: 1px;
  height: 64px;
  background: rgba(213,139,0,.9);
}
.active-list-edit {
  width: 72px;
  height: 72px;
  justify-self: center;
  display: grid;
  place-items: center;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.active-list-edit img {
  width: 48px;
  height: 48px;
  object-fit: contain;
}

/* ===== Popup de criação de lista ===== */
.create-list-modal[hidden] { display: none !important; }
.create-list-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-items: center;
  padding: 18px;
}
.create-list-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.78);
  backdrop-filter: blur(8px);
}
.create-list-dialog {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100vw - 36px));
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  padding: 34px 42px 40px;
  border: 1.5px solid rgba(211,137,0,.9);
  border-radius: 24px;
  background:
    linear-gradient(rgba(10,10,10,.94), rgba(10,10,10,.94)),
    url("texturas do site/textura-couro-preto-tileavel.png") center/420px 420px repeat,
    #080808;
  box-shadow: 0 24px 70px rgba(0,0,0,.7), inset 0 0 0 1px rgba(255,255,255,.025);
}
.create-list-dialog h2 {
  margin: 0 0 24px;
  text-align: center;
  color: #e4a70f;
  font: 500 clamp(1.7rem, 2.5vw, 2.4rem)/1 Georgia, "Times New Roman", serif;
  letter-spacing: .11em;
}
.create-list-close {
  position: absolute;
  top: 12px;
  right: 16px;
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: #e4a70f;
  font-size: 2rem;
  cursor: pointer;
}
.create-list-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}
.list-icon-picker {
  display: grid;
  grid-template-columns: 116px 160px 1fr;
  align-items: center;
  gap: 18px;
  margin-bottom: 4px;
}
.list-icon-preview-circle {
  width: 96px;
  height: 96px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(211,137,0,.9);
  border-radius: 50%;
  background: rgba(12,12,12,.7);
}
.list-icon-preview-circle img {
  width: 70%;
  height: 70%;
  object-fit: contain;
}
.list-icon-select-label,
.form-line > label {
  color: #e5a80f;
  font: 700 .93rem/1.15 "Segoe UI", Arial, sans-serif;
  text-transform: uppercase;
  text-align: right;
}
.form-line {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}
.form-line-wide { grid-column: 1 / -1; }
.dynamic-list-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
}
.dynamic-list-fields .form-line-wide,
.dynamic-list-fields .toggle-line,
.dynamic-list-fields .conditional-fields { grid-column: 1 / -1; }
.dynamic-list-fields .form-line:not(.form-line-wide) {
  grid-template-columns: 150px minmax(0, 1fr);
}
.create-list-dialog .profile-input {
  width: 100% !important;
  max-width: none !important;
  min-height: 44px;
}
.create-list-dialog textarea.profile-input {
  min-height: 92px;
  padding-top: 10px;
  resize: vertical;
}
.toggle-line {
  padding-left: 224px;
}
.toggle-line label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #eee9dd;
  font: 600 .98rem/1.2 "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}
.toggle-line input {
  width: 20px;
  height: 20px;
  accent-color: #d99a00;
}
.conditional-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px 16px;
  padding: 14px;
  border: 1px solid rgba(211,137,0,.35);
  border-radius: 12px;
  background: rgba(0,0,0,.18);
}
.conditional-fields[hidden] { display: none !important; }
.profile-multiselect { min-height: 108px !important; padding: 8px 10px !important; }
.create-list-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 8px;
}
.create-list-actions .secondary-button,
.create-list-actions .profile-save-button {
  width: 210px !important;
  min-height: 54px !important;
  margin: 0 !important;
}
body.modal-open { overflow: hidden; }

@media (max-width: 900px) {
  .manage-lists-page { overflow: auto; }
  .manage-lists-panel { padding: 80px 18px 42px; }
  .manage-lists-branding { top: 62px; left: 22px; transform: scale(.7); }
  .manage-lists-heading-row { grid-template-columns: 1fr; justify-items: center; }
  .create-list-button { min-height: 62px; }
  .active-list-card { grid-template-columns: 70px 1fr 1px 62px; min-height: 94px; padding: 0 14px; gap: 12px; }
  .active-list-icon { width: 58px; height: 58px; }
  .active-list-edit { width: 52px; height: 52px; }
  .active-list-edit img { width: 36px; height: 36px; }
}

@media (max-width: 640px) {
  .manage-lists-title { font-size: 1.4rem; gap: 10px; }
  .manage-lists-title span { width: 28px; }
  .manage-lists-logout { top: 46px !important; right: 8px !important; transform: scale(.78); transform-origin: right top; }
  .active-list-card { grid-template-columns: 52px 1fr 1px 42px; min-height: 78px; gap: 8px; border-radius: 9px; }
  .active-list-icon { width: 46px; height: 46px; }
  .active-list-name { font-size: .9rem; }
  .active-list-divider { height: 44px; }
  .active-list-edit img { width: 29px; height: 29px; }
  .create-list-dialog { padding: 28px 16px 24px; border-radius: 18px; }
  .list-icon-picker { grid-template-columns: 88px 1fr; }
  .list-icon-select-label { text-align: left; }
  .list-icon-picker select { grid-column: 1 / -1; }
  .list-icon-preview-circle { width: 76px; height: 76px; }
  .form-line,
  .dynamic-list-fields,
  .conditional-fields,
  .dynamic-list-fields .form-line:not(.form-line-wide) { grid-template-columns: 1fr; }
  .form-line > label { text-align: left; }
  .toggle-line { padding-left: 0; }
  .create-list-actions { flex-direction: column-reverse; }
  .create-list-actions .secondary-button,
  .create-list-actions .profile-save-button { width: 100% !important; }
}


/* ===== Ajuste vertical final do popup Gerenciar Listas ===== */
.manage-lists-page { overflow: hidden; }
.create-list-dialog {
  width: min(480px, calc(100vw - 28px));
  max-height: calc(100dvh - 28px);
  overflow-y: auto;
  padding: 28px 22px 22px;
  border-radius: 18px;
}
.create-list-dialog h2 {
  margin: 0 0 16px;
  color: #f3eee3;
  font: 500 clamp(1.55rem, 2vw, 1.95rem)/1.05 Georgia, "Times New Roman", serif;
  letter-spacing: .12em;
}
.create-list-close {
  top: 8px;
  right: 12px;
  color: #e0a116;
  font-size: 2rem;
}
.create-list-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.list-icon-picker {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  margin-bottom: 0;
}
.list-icon-preview-circle {
  width: 84px;
  height: 84px;
  margin: 0 auto;
}
.list-icon-select-label,
.form-line > label,
.stack-label {
  color: #e5a80f;
  font: 700 .92rem/1.15 "Segoe UI", Arial, sans-serif;
  text-transform: none;
  text-align: left;
}
#list-icon-select,
#list-icon-select-clone,
.create-list-dialog .profile-input,
.create-list-dialog textarea.profile-input,
.create-list-dialog .profile-select {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 40px;
}
.icon-choice-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.icon-choice {
  min-height: 58px;
  display: grid;
  place-items: center;
  border: 1.5px solid rgba(211,137,0,.82);
  border-radius: 10px;
  background: rgba(12,12,12,.55);
  cursor: pointer;
  padding: 6px;
}
.icon-choice img {
  width: 70%;
  height: 70%;
  object-fit: contain;
}
.icon-choice.is-active {
  background: rgba(220,160,20,.12);
  box-shadow: inset 0 0 0 1px rgba(255,220,130,.16);
}
.form-line,
.dynamic-list-fields,
.dynamic-list-fields .form-line:not(.form-line-wide),
.conditional-fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
}
.dynamic-list-fields {
  gap: 12px;
}
.stack-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.switch-block {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 2px 0;
}
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 24px;
  flex: 0 0 auto;
}
.toggle-switch input {
  position: absolute;
  opacity: 0;
  inset: 0;
}
.toggle-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.22);
  transition: background .18s ease;
}
.toggle-slider::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  top: 3px;
  left: 3px;
  border-radius: 50%;
  background: #fff;
  transition: transform .18s ease;
}
.toggle-switch input:checked + .toggle-slider {
  background: #e2a61a;
}
.toggle-switch input:checked + .toggle-slider::before {
  transform: translateX(22px);
}
.conditional-fields {
  padding: 12px;
  border: 1px solid rgba(211,137,0,.35);
  border-radius: 12px;
  background: rgba(0,0,0,.18);
}
.monthly-groups-field .group-choice-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.group-choice-row {
  position: relative;
  display: grid;
  grid-template-columns: 26px 1fr 18px;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(211,137,0,.56);
  border-radius: 10px;
  background: rgba(0,0,0,.16);
  cursor: pointer;
}
.group-choice-row input {
  position: absolute;
  opacity: 0;
  inset: 0;
}
.group-choice-icon {
  display: grid;
  place-items: center;
}
.group-choice-icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.group-choice-name {
  color: #f1efe9;
  font: 600 .95rem/1.15 "Segoe UI", Arial, sans-serif;
}
.group-choice-indicator {
  width: 16px;
  height: 16px;
  border: 1.5px solid rgba(255,255,255,.55);
  border-radius: 50%;
  justify-self: end;
  box-sizing: border-box;
}
.group-choice-row input:checked ~ .group-choice-indicator {
  border-color: #e0a116;
  background: radial-gradient(circle at center, #e0a116 0 48%, transparent 50%);
}
.group-choice-row input:checked ~ .group-choice-name {
  color: #fff;
}
.create-list-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 6px;
}
.create-list-actions .secondary-button,
.create-list-actions .profile-save-button {
  width: 100% !important;
  min-height: 48px !important;
}
@media (max-width: 640px) {
  .manage-lists-page { overflow: auto; }
  .create-list-dialog { width: min(440px, calc(100vw - 18px)); padding: 24px 14px 18px; }
  .icon-choice-grid { gap: 8px; }
}

/* ===== Popup Gerenciar Listas — ajustes finais solicitados ===== */
.create-list-modal {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: block;
  padding: 18px 0 28px;
  overflow-y: auto;
  overflow-x: hidden;
}
.create-list-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, .78);
  backdrop-filter: blur(8px);
}
.create-list-dialog {
  position: relative;
  z-index: 1;
  width: min(480px, calc(100vw - 24px));
  max-height: none !important;
  overflow: visible !important;
  margin: 18px auto;
  padding: 28px 20px 22px;
  border-radius: 18px;
}
body.modal-open {
  overflow-y: auto;
}

.create-list-form {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.list-icon-picker {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  margin-bottom: 2px;
}
.list-icon-picker-inline {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
}
.list-icon-preview-circle {
  width: 92px;
  height: 92px;
  margin: 0;
  border: 2px solid rgba(211, 137, 0, .9);
  border-radius: 50%;
  background: rgba(12, 12, 12, .72);
  display: grid;
  place-items: center;
  padding: 0;
  cursor: pointer;
}
.list-icon-preview-circle img {
  width: 68%;
  height: 68%;
  object-fit: contain;
}
.list-icon-toggle {
  border: 0 !important;
  outline: 0;
  background: transparent !important;
  color: #e0a116;
  font-size: 2rem;
  line-height: 1;
  padding: 0 2px;
  min-width: 0;
  min-height: 0;
  box-shadow: none !important;
  cursor: pointer;
}
.list-icon-toggle.is-open {
  transform: rotate(180deg);
}
.icon-choice-grid {
  width: min(100%, 320px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0 auto;
}
.icon-choice-grid[hidden] {
  display: none !important;
}
.icon-choice {
  min-height: 58px;
  display: grid;
  place-items: center;
  border: 1.5px solid rgba(211, 137, 0, .82);
  border-radius: 10px;
  background: rgba(12, 12, 12, .55);
  cursor: pointer;
  padding: 6px;
}
.icon-choice img {
  width: 70%;
  height: 70%;
  object-fit: contain;
}
.icon-choice.is-active {
  background: rgba(220, 160, 20, .12);
  box-shadow: inset 0 0 0 1px rgba(255, 220, 130, .16);
}

.stack-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.stack-label {
  color: #e5a80f;
  font: 700 .92rem/1.15 "Segoe UI", Arial, sans-serif;
  text-transform: none;
  text-align: left;
}
.create-list-dialog .profile-input,
.create-list-dialog textarea.profile-input,
.create-list-dialog .profile-select {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 42px;
}

.inline-date-time-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 116px;
  gap: 10px;
  align-items: center;
  width: 100%;
}
.inline-date-time-row > .profile-input {
  margin: 0;
}
.field-helper {
  margin: 0;
  color: rgba(231, 231, 231, .68);
  font: 500 .84rem/1.35 "Segoe UI", Arial, sans-serif;
}
.section-divider-block {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.section-divider-gap {
  min-height: 6px;
}
.section-divider-line {
  width: 100%;
  height: 1px;
  background: rgba(211, 137, 0, .92);
}

.switch-block.switch-block-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  padding: 0;
}
.toggle-switch {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 24px;
  flex: 0 0 auto;
}
.toggle-switch input {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.toggle-slider {
  position: absolute;
  inset: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, .22);
  transition: background .18s ease;
}
.toggle-slider::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform .18s ease;
}
.toggle-switch input:checked + .toggle-slider {
  background: #e2a61a;
}
.toggle-switch input:checked + .toggle-slider::before {
  transform: translateX(22px);
}

.conditional-fields {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(211, 137, 0, .35);
  border-radius: 12px;
  background: rgba(0, 0, 0, .18);
}
.conditional-fields[hidden] {
  display: none !important;
}
.monthly-groups-field .group-choice-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.group-choice-row {
  position: relative;
  display: grid;
  grid-template-columns: 24px 1fr 18px;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid rgba(211, 137, 0, .56);
  border-radius: 10px;
  background: rgba(0, 0, 0, .16);
  cursor: pointer;
}
.group-choice-row input {
  position: absolute;
  inset: 0;
  opacity: 0;
}
.group-choice-icon {
  display: grid;
  place-items: center;
}
.group-choice-icon img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}
.group-choice-name {
  color: #f1efe9;
  font: 600 .95rem/1.15 "Segoe UI", Arial, sans-serif;
}
.group-choice-indicator {
  width: 16px;
  height: 16px;
  border: 1.5px solid rgba(255, 255, 255, .55);
  border-radius: 50%;
  justify-self: end;
  box-sizing: border-box;
}
.group-choice-row input:checked ~ .group-choice-indicator {
  border-color: #e0a116;
  background: radial-gradient(circle at center, #e0a116 0 48%, transparent 50%);
}
.group-choice-row input:checked ~ .group-choice-name {
  color: #fff;
}

.create-list-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-top: 8px;
}
.create-list-actions .secondary-button,
.create-list-actions .profile-save-button {
  width: 100% !important;
  min-height: 48px !important;
}

@media (max-width: 640px) {
  .create-list-modal {
    padding: 12px 0 20px;
  }
  .create-list-dialog {
    width: min(440px, calc(100vw - 16px));
    margin: 12px auto;
    padding: 22px 14px 18px;
  }
  .inline-date-time-row {
    grid-template-columns: minmax(0, 1fr) 104px;
    gap: 8px;
  }
  .create-list-actions {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .icon-choice-grid {
    width: 100%;
    gap: 8px;
  }
}

/* =========================================================
   LISTAS DOS MEMBROS — VITALÍCIO / INICIANTE
   ========================================================= */
.member-lists-page {
  min-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  background: #080808;
}
.member-lists-shell {
  min-height: 100dvh;
  height: auto;
  padding-bottom: 34px;
}
.member-lists-panel {
  max-width: 1500px;
  min-height: calc(100dvh - 72px);
  height: auto;
  padding: clamp(92px, 9vh, 116px) clamp(28px, 4vw, 70px) clamp(48px, 6vh, 78px);
}
.member-lists-panel .athlete-card-frame {
  inset: 48px 18px 30px;
  clip-path: polygon(4% 0,46% 0,48% 3%,52% 3%,54% 0,96% 0,100% 12%,100% 88%,91% 100%,9% 100%,0 82%,0 20%);
}
.member-lists-branding {
  position: absolute;
  top: 62px;
  left: 58px;
  transform: scale(.88);
  transform-origin: left top;
}
.member-lists-logout {
  top: 48px !important;
  right: 28px !important;
}
.member-lists-core {
  position: relative;
  z-index: 3;
  width: min(100%, 1120px);
  margin: 0 auto;
}
.member-lists-title {
  margin: 0 auto 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: #f0eee7;
  font: 400 clamp(1.65rem,2.5vw,2.6rem)/1 Georgia,"Times New Roman",serif;
  letter-spacing: .13em;
  white-space: nowrap;
}
.member-lists-title span {
  width: clamp(38px,5vw,68px);
  height: 4px;
  background: #d99400;
  clip-path: polygon(0 50%,72% 0,100% 50%,72% 100%);
}
.member-lists-title span:last-child { transform: scaleX(-1); }

.active-list-carousel {
  min-height: 126px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: clamp(8px,1.5vw,18px);
  overflow: hidden;
  touch-action: pan-y;
  padding: 4px 8px 0;
}
.carousel-list-option {
  width: clamp(90px,10vw,128px);
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  border: 0;
  background: transparent;
  color: #d89300;
  cursor: pointer;
  padding: 0;
  transition: transform .18s ease, opacity .18s ease;
}
.carousel-list-icon {
  width: 70px;
  height: 70px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(218,143,0,.82);
  border-radius: 50%;
  background: rgba(10,10,10,.7);
}
.carousel-list-icon img {
  width: 66%;
  height: 66%;
  object-fit: contain;
}
.carousel-list-name {
  color: #d89300;
  font: 700 .86rem/1.15 "Arial Narrow","Segoe UI",Arial,sans-serif;
  text-align: center;
  text-transform: uppercase;
}
.carousel-list-option.is-selected {
  transform: scale(1.16);
}
.carousel-list-option.is-selected .carousel-list-icon {
  border-color: #f2ad00;
  box-shadow: 0 0 0 3px rgba(242,173,0,.18);
}
.carousel-list-option.is-selected .carousel-list-name { color: #f1ab00; }
.carousel-list-option.is-near { opacity: .9; transform: scale(.92); }
.carousel-list-option.is-far { opacity: .62; transform: scale(.82); }
.carousel-dots {
  align-self: center;
  margin-top: 30px;
  color: #d99400;
  font-size: 1.5rem;
  letter-spacing: .22em;
  flex: 0 0 auto;
}
.selected-list-summary {
  min-height: 58px;
  margin: 8px auto 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  color: #e8e5dc;
  text-align: center;
}
.selected-list-summary strong {
  color: #e2a016;
  font: 700 clamp(1rem,1.4vw,1.25rem)/1.2 "Arial Narrow","Segoe UI",Arial,sans-serif;
  letter-spacing: .04em;
}
.selected-list-summary span,
.selected-list-summary small {
  font: 500 .84rem/1.35 "Segoe UI",Arial,sans-serif;
  color: rgba(239,237,229,.78);
}
.selected-list-summary small { color: rgba(239,237,229,.6); }

.member-list-empty {
  width: min(100%,700px);
  margin: 60px auto;
  padding: 34px;
  border: 1px solid rgba(216,143,0,.7);
  text-align: center;
  color: #e5a313;
}
.member-list-empty strong,
.member-list-empty span { display:block; }
.member-list-empty span { margin-top:10px;color:#ddd;font-size:.9rem; }

.member-list-content {
  display: grid;
  grid-template-columns: minmax(230px,280px) minmax(0,1fr);
  gap: 16px;
  align-items: stretch;
}
.member-actions-panel {
  min-height: 520px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 34px;
  padding: 70px 28px 28px;
  border: 2px solid rgba(212,139,0,.9);
  border-radius: 12px;
  background:
    linear-gradient(rgba(214,151,18,.94),rgba(214,151,18,.94)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #d79712;
}
.member-list-action {
  min-height: 94px;
  display: grid;
  grid-template-columns: 58px 1fr;
  align-items: center;
  gap: 12px;
  padding: 12px 18px;
  border: 2px solid #16110a;
  border-radius: 8px;
  background: rgba(9,9,9,.9);
  color: #d89b13;
  cursor: pointer;
  font: 700 1rem/1.2 "Arial Narrow","Segoe UI",Arial,sans-serif;
  letter-spacing: .025em;
  text-align: left;
}
.member-list-action img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(59%) sepia(95%) saturate(1028%) hue-rotate(3deg) brightness(91%);
}
.member-action-check {
  width: 48px;
  height: 48px;
  display:grid;
  place-items:center;
  border:4px solid #d89b13;
  color:#d89b13;
  font-size:2rem;
  line-height:1;
}
.member-list-action-guest { margin-top: 10px; min-height: 82px; }
.member-list-action:disabled { opacity:.48; cursor:default; }
.member-list-action.is-active { border-color:#d89b13; }
.member-action-feedback {
  min-height: 42px;
  margin: auto 0 0;
  color: #16110a;
  font: 700 .82rem/1.35 "Segoe UI",Arial,sans-serif;
  text-align:center;
}
.member-action-feedback.is-error { color:#760900; }

.realtime-list-area {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.realtime-list-panel,
.waiting-list-panel {
  border: 2px solid rgba(213,139,0,.88);
  border-radius: 10px;
  overflow: hidden;
  background: rgba(7,7,7,.58);
}
.realtime-list-header,
.waiting-list-header {
  min-height: 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  background:
    linear-gradient(rgba(215,151,18,.96),rgba(215,151,18,.96)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat;
  color:#12100c;
  font:700 clamp(.96rem,1.3vw,1.15rem)/1 "Arial Narrow","Segoe UI",Arial,sans-serif;
  letter-spacing:.04em;
}
.realtime-list-header img { width:26px;height:26px;object-fit:contain;filter:brightness(0); }
.primary-participant-list {
  display:grid;
  grid-template-columns:1fr 1fr;
}
.primary-list-column:first-child { border-right:1px solid rgba(211,139,0,.44); }
.participant-row {
  min-height: 42px;
  display:grid;
  grid-template-columns:30px 34px minmax(70px,1fr) auto 28px;
  align-items:center;
  gap:7px;
  padding:3px 8px;
  border-bottom:1px solid rgba(211,139,0,.28);
  color:#dedbd4;
}
.participant-row:last-child { border-bottom:0; }
.participant-number { color:#d89500;font:700 1rem/1 "Segoe UI",Arial,sans-serif;text-align:center; }
.participant-avatar {
  width:32px;height:32px;display:grid;place-items:center;border:2px solid #d99500;border-radius:50%;overflow:hidden;background:#292929;
}
.participant-avatar img { width:100%;height:100%;object-fit:cover; }
.participant-avatar-fallback span { color:#e8e5dc;font:700 .7rem/1 "Segoe UI",Arial,sans-serif; }
.participant-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 .92rem/1.1 "Segoe UI",Arial,sans-serif; }
.promoted-arrow { color:#e1a10b;margin-left:4px; }
.participant-tags { display:flex;gap:3px;justify-content:flex-end; }
.participant-tag { padding:3px 5px;border:1px solid rgba(255,255,255,.08);border-radius:3px;background:rgba(255,255,255,.065);color:#c8c5bf;font:500 .62rem/1 "Segoe UI",Arial,sans-serif;white-space:nowrap; }
.participant-state { width:23px;height:23px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;font:800 .88rem/1 Arial,sans-serif; }
.participant-state-payment { color:#48a900; }
.participant-state-confirmed { color:#e0a000; }
.participant-hourglass { justify-self:center;font-size:1.15rem;line-height:1; }
.participant-hourglass-waiting { color:#e6e6e6;filter:grayscale(1); }
.participant-hourglass-pending { color:#dfa000; }
.participant-row-empty { grid-template-columns:30px 1fr 28px;color:rgba(230,230,230,.32); }
.participant-empty-label { font-size:.78rem;font-style:italic; }

.waiting-list-header { background:rgba(65,65,65,.68);color:#d7d7d7;border-bottom:1px solid rgba(213,139,0,.65); }
.waiting-header-icon { color:#ddd; }
.waiting-participant-list { display:grid;grid-template-columns:repeat(6,minmax(0,1fr)); }
.waiting-person { min-height:78px;display:grid;grid-template-columns:20px 38px minmax(0,1fr) 14px;align-items:center;gap:4px;padding:6px;border-right:1px solid rgba(211,139,0,.34); }
.waiting-person:last-child { border-right:0; }
.waiting-number { color:#d89500;font-weight:700;text-align:center; }
.waiting-person .participant-avatar { width:38px;height:38px; }
.waiting-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#ddd;font-size:.78rem;text-align:center; }
.waiting-up { color:#ddd;font-weight:700; }
.waiting-person-empty { grid-template-columns:20px 1fr;color:rgba(230,230,230,.3);font-size:.72rem; }
.waiting-disabled { padding:18px;text-align:center;color:#999;font-size:.82rem; }

.list-status-legend {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:10px 20px;
  color:#d6d3cd;
  font:600 .72rem/1.2 "Arial Narrow","Segoe UI",Arial,sans-serif;
}
.list-status-legend > span { display:inline-flex;align-items:center;gap:7px; }
.state-icon { width:20px;height:20px;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;position:relative; }
.state-icon::after { content:"✓";font:800 .74rem/1 Arial; }
.state-payment { color:#48a900; }
.state-confirmed { color:#dfa000; }
.state-hourglass { font-style:normal;font-size:1rem; }
.state-waiting { color:#e5e5e5;filter:grayscale(1); }
.state-pending { color:#dfa000; }

@media (max-width: 900px) {
  .member-lists-panel { padding:84px 16px 46px; }
  .member-lists-branding { top:62px;left:20px;transform:scale(.68); }
  .member-lists-logout { top:48px !important;right:8px !important;transform:scale(.78);transform-origin:right top; }
  .member-list-content { grid-template-columns:1fr; }
  .member-actions-panel { min-height:auto;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;padding:16px; }
  .member-list-action,.member-list-action-guest { margin:0;min-height:82px;grid-template-columns:42px 1fr;padding:10px;font-size:.82rem; }
  .member-list-action img,.member-action-check { width:36px;height:36px; }
  .member-action-check { font-size:1.4rem;border-width:3px; }
  .member-action-feedback { grid-column:1/-1;min-height:22px;margin:0; }
}

@media (max-width: 650px) {
  .member-lists-panel { padding:78px 8px 40px; }
  .member-lists-title { font-size:1.35rem;gap:9px; }
  .member-lists-title span { width:24px; }
  .active-list-carousel { justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding:5px 18px 8px; }
  .active-list-carousel::-webkit-scrollbar { display:none; }
  .carousel-list-option { width:88px; }
  .carousel-list-icon { width:58px;height:58px; }
  .carousel-dots { margin-top:23px;font-size:1rem; }
  .selected-list-summary { padding:0 12px; }
  .member-actions-panel { grid-template-columns:1fr;gap:10px;padding:14px; }
  .member-list-action,.member-list-action-guest { min-height:70px;grid-template-columns:52px 1fr;text-align:left; }
  .primary-participant-list { grid-template-columns:1fr; }
  .primary-list-column:first-child { border-right:0; }
  .participant-row { grid-template-columns:28px 34px minmax(70px,1fr) auto 28px; }
  .participant-tag { font-size:.56rem; }
  .waiting-participant-list { grid-template-columns:1fr 1fr; }
  .waiting-person { min-height:60px;border-right:0;border-bottom:1px solid rgba(211,139,0,.28); }
  .list-status-legend { justify-content:flex-start;padding:0 6px;gap:8px 12px; }
}

/* ===== Fluxo simplificado dos botões da lista do membro ===== */
.member-actions-panel {
  justify-content: flex-start;
  gap: 18px;
}
.member-list-action-primary {
  min-height: 112px;
  font-size: 1.08rem;
}
.member-list-action-leave {
  min-height: 62px;
  grid-template-columns: 40px 1fr;
  color: #d89b13;
  margin-top: 0;
}
.member-list-action-leave[hidden] {
  display: none !important;
}
.member-action-exit {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 2px solid #d89b13;
  color: #d89b13;
  font: 400 1.7rem/1 Arial, sans-serif;
}
.member-list-action.is-waiting {
  opacity: .72;
}
.member-list-action-primary img[hidden] {
  display: none !important;
}
.member-list-action-primary:has(img[hidden]) {
  grid-template-columns: 1fr;
  text-align: center;
}
@media (max-width: 900px) {
  .member-list-action-primary { min-height: 84px; }
  .member-list-action-leave { min-height: 58px; }
}

/* ===== Correção do painel de ações e botões dinâmicos das listas ===== */
.member-actions-panel {
  min-height: 0 !important;
  align-self: start;
  padding: 8px 0 0 !important;
  gap: 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.member-list-action {
  position: relative;
  min-height: 88px;
  padding: 13px 18px;
  border: 0 !important;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.055)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #dca014 !important;
  color: #111 !important;
  box-shadow: inset 0 0 0 1px rgba(92,55,0,.3) !important;
  overflow: hidden;
}

.member-list-action::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px dashed #050505;
  border-radius: 8px;
  pointer-events: none;
}

.member-list-action img {
  position: relative;
  z-index: 1;
  filter: brightness(0) !important;
}

.member-list-action > span,
.member-list-action > img {
  position: relative;
  z-index: 1;
}

.member-list-action-primary {
  min-height: 96px;
  color: #111 !important;
}

.member-list-action-leave {
  min-height: 58px;
  color: #111 !important;
}

.member-action-exit {
  border-color: #111 !important;
  color: #111 !important;
}

.member-list-action.is-active {
  border-color: transparent !important;
  filter: brightness(1.035);
}

.member-list-action:disabled {
  opacity: .62;
}

.member-action-feedback {
  min-height: 38px;
  margin: 6px 0 0 !important;
  color: rgba(232,228,217,.82) !important;
  font-weight: 500 !important;
}

.member-action-feedback.is-error {
  color: #c7160c !important;
}

@media (max-width: 900px) {
  .member-actions-panel {
    display: flex !important;
    flex-direction: column;
    padding: 0 !important;
  }
  .member-list-action-primary {
    min-height: 82px;
  }
  .member-list-action-leave {
    min-height: 56px;
  }
}

/* ===== Correção visual real: painel de ações sem bloco amarelo ===== */
.member-actions-panel {
  min-height: 520px;
  padding: 70px 0 28px;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.member-list-action {
  position: relative;
  min-height: 94px;
  border: 0 !important;
  border-radius: 12px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.04), rgba(0,0,0,.04)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #dca014 !important;
  color: #111 !important;
  box-shadow: inset 0 0 0 1px rgba(0,0,0,.25);
  overflow: hidden;
}
.member-list-action::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px dashed #080808;
  border-radius: 8px;
  pointer-events: none;
}
.member-list-action img {
  filter: brightness(0) !important;
}
.member-list-action.is-active {
  outline: 2px solid rgba(225,161,14,.9);
  outline-offset: 3px;
}
.member-list-action-leave {
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.05)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #c89215 !important;
}
.member-action-feedback {
  color: #d8a014 !important;
  background: transparent !important;
}
.member-action-feedback.is-error { color:#c51111 !important; }

/* Mantém toda a estrutura das listas visível mesmo com dados incompletos antigos. */
.active-list-carousel,
.selected-list-summary,
.member-list-content {
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 900px) {
  .member-actions-panel {
    padding: 16px 0;
  }
}

/* ===== Ajustes finais: carrossel central, botões compactos e vagas dinâmicas ===== */
.active-list-carousel {
  position: relative;
  display: block !important;
  min-height: 132px;
  width: 100%;
  overflow: hidden !important;
  touch-action: pan-y;
  cursor: grab;
  padding: 4px 0 0 !important;
  user-select: none;
}
.active-list-carousel:active { cursor: grabbing; }
.active-list-carousel-track {
  display: flex;
  align-items: flex-start;
  width: max-content;
  gap: clamp(8px, 1.5vw, 18px);
  will-change: transform;
}
.carousel-list-option {
  width: clamp(92px, 10vw, 128px);
  transform-origin: center top;
}
.carousel-list-option.is-selected {
  transform: scale(1);
  opacity: 1;
  z-index: 3;
}
.carousel-list-option.is-near {
  transform: scale(.75);
  opacity: .9;
  z-index: 2;
}
.carousel-list-option.is-far {
  transform: scale(.6);
  opacity: .56;
  z-index: 1;
}
.carousel-list-option.is-selected .carousel-list-icon {
  width: 82px;
  height: 82px;
  border-color: #f2ad00;
  box-shadow: 0 0 0 3px rgba(242,173,0,.18);
}
.carousel-list-option.is-near .carousel-list-icon,
.carousel-list-option.is-far .carousel-list-icon {
  width: 70px;
  height: 70px;
}
.carousel-list-name {
  white-space: normal;
  max-width: 128px;
}
.carousel-dots {
  align-self: flex-start;
  margin-top: 31px;
}

.primary-participant-list.is-single-column {
  grid-template-columns: 1fr;
}
.primary-participant-list.is-single-column .primary-list-column:first-child {
  border-right: 0;
}
.waiting-list-panel[hidden] {
  display: none !important;
}

.member-list-action {
  min-height: 62px !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  padding: 11px 20px !important;
  text-align: center !important;
  font-size: clamp(.74rem, 1.5vw, .94rem) !important;
  line-height: 1 !important;
  white-space: nowrap;
}
.member-list-action > span:not(.member-action-exit) {
  width: 100%;
  text-align: center;
  white-space: nowrap;
}
.member-list-action img {
  position: absolute !important;
  left: 22px;
  width: 34px !important;
  height: 34px !important;
}
.member-list-action-primary {
  min-height: 68px !important;
}
.member-list-action-leave {
  min-height: 56px !important;
  position: relative;
}
.member-action-exit {
  position: absolute !important;
  left: 22px;
  width: auto !important;
  height: auto !important;
  border: 0 !important;
  color: #111 !important;
  font: 400 1.65rem/1 Arial, sans-serif !important;
}

@media (max-width: 650px) {
  .active-list-carousel {
    overflow: hidden !important;
    padding: 4px 0 0 !important;
  }
  .active-list-carousel-track {
    gap: 9px;
  }
  .carousel-list-option {
    width: 88px;
  }
  .carousel-list-option.is-selected .carousel-list-icon {
    width: 72px;
    height: 72px;
  }
  .carousel-list-option.is-near .carousel-list-icon,
  .carousel-list-option.is-far .carousel-list-icon {
    width: 58px;
    height: 58px;
  }
  .carousel-dots {
    margin-top: 24px;
    font-size: 1rem;
  }
  .member-list-action {
    min-height: 58px !important;
    font-size: .78rem !important;
    padding: 9px 16px !important;
  }
  .member-list-action-primary {
    min-height: 64px !important;
  }
  .member-list-action img,
  .member-action-exit {
    left: 18px;
  }
}

/* ===== Gestão administrativa de uma lista ===== */
.admin-edit-list-page { min-height:100%; overflow-x:hidden; overflow-y:auto; background:#080808; }
.admin-edit-list-shell { min-height:100dvh; height:auto; padding-bottom:34px; }
.admin-edit-list-panel { max-width:1500px; min-height:calc(100dvh - 72px); height:auto; padding:clamp(92px,9vh,116px) clamp(28px,4vw,70px) clamp(48px,6vh,78px); }
.admin-edit-list-panel .athlete-card-frame { inset:48px 18px 30px; clip-path:polygon(4% 0,46% 0,48% 3%,52% 3%,54% 0,96% 0,100% 12%,100% 88%,91% 100%,9% 100%,0 82%,0 20%); }
.admin-edit-branding { position:absolute; top:62px; left:58px; transform:scale(.88); transform-origin:left top; }
.admin-edit-exit { top:48px !important; right:28px !important; }
.admin-delete-list-button { position:absolute; top:96px; right:48px; z-index:6; border:0; background:transparent; color:#d42424; font-size:3.2rem; line-height:1; cursor:pointer; filter:saturate(1.2); }
.admin-delete-list-button:hover { color:#ff3131; }
.admin-edit-list-core { position:relative; z-index:3; width:min(100%,1260px); margin:0 auto; }
.admin-edit-title { margin:0 auto 12px; display:flex; align-items:center; justify-content:center; gap:18px; color:#f0eee7; font:400 clamp(1.65rem,2.5vw,2.6rem)/1 Georgia,"Times New Roman",serif; letter-spacing:.13em; white-space:nowrap; }
.admin-edit-title span { width:clamp(38px,5vw,68px); height:4px; background:#d99400; clip-path:polygon(0 50%,72% 0,100% 50%,72% 100%); }
.admin-edit-title span:last-child { transform:scaleX(-1); }
.admin-list-selector-wrap { width:min(100%,470px); min-height:54px; margin:0 auto 14px; display:grid; grid-template-columns:38px 1fr; align-items:center; border:1.5px solid rgba(213,139,0,.85); border-radius:10px; background:rgba(7,7,7,.7); }
.admin-list-selector-icon { color:#d99500; font-size:1.5rem; text-align:center; }
.admin-list-selector { width:100%; height:50px; border:0; background:transparent; color:#d99b10; font:700 1rem/1 "Arial Narrow","Segoe UI",sans-serif; padding:0 36px 0 4px; outline:none; }
.admin-list-selector option { background:#111; color:#e6a713; }
.admin-edit-grid { display:grid; grid-template-columns:minmax(250px,310px) minmax(0,1fr); gap:26px; align-items:center; }
.admin-edit-actions { display:flex; flex-direction:column; gap:42px; padding:20px 0; }
.admin-edit-action { min-height:60px; display:grid; grid-template-columns:52px 1fr; align-items:center; gap:10px; padding:10px 18px; border:1.5px solid rgba(20,14,5,.9); border-radius:8px; background:linear-gradient(rgba(216,153,20,.94),rgba(216,153,20,.94)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px repeat; box-shadow:inset 0 0 0 2px rgba(55,32,1,.34); color:#16110a; font:700 .88rem/1 "Arial Narrow","Segoe UI",sans-serif; white-space:nowrap; cursor:pointer; }
.admin-action-icon { font-size:1.55rem; text-align:center; }
.admin-edit-roster-area { min-width:0; display:flex; flex-direction:column; gap:12px; }
.admin-realtime-panel,.admin-waiting-panel { border:2px solid rgba(213,139,0,.88); border-radius:10px; overflow:hidden; background:rgba(7,7,7,.58); }
.admin-realtime-header,.admin-waiting-header { min-height:42px; display:grid; grid-template-columns:auto minmax(180px,1fr) auto auto; align-items:center; gap:14px; padding:0 18px; background:linear-gradient(rgba(215,151,18,.96),rgba(215,151,18,.96)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px repeat; color:#12100c; font:700 clamp(.82rem,1.05vw,1rem)/1 "Arial Narrow","Segoe UI",sans-serif; }
.admin-realtime-header strong { text-align:center; }
.admin-primary-list { display:grid; grid-template-columns:1fr 1fr; }
.admin-primary-column:first-child { border-right:1px solid rgba(211,139,0,.44); }
.admin-person-row { min-height:42px; display:grid; grid-template-columns:22px 28px 32px 22px minmax(70px,1fr) auto 25px 20px 25px; align-items:center; gap:5px; padding:3px 7px; border-bottom:1px solid rgba(211,139,0,.28); color:#dedbd4; }
.admin-person-row.is-dragging { opacity:.45; background:rgba(215,151,18,.12); }
.admin-person-row.is-drop-target,.admin-waiting-person.is-drop-target { outline:2px solid #e2a016; outline-offset:-2px; }
.admin-drag-handle { color:#a8a8a8; cursor:grab; font-size:1.2rem; }
.admin-person-number,.admin-wait-number { color:#d89500; font:700 1rem/1 "Segoe UI",sans-serif; text-align:center; }
.admin-person-avatar { width:30px; height:30px; display:grid; place-items:center; border:2px solid #d99500; border-radius:50%; overflow:hidden; background:#292929; color:#eee; font:700 .62rem/1 sans-serif; }
.admin-person-avatar img { width:100%; height:100%; object-fit:cover; }
.admin-person-add-tag { border:0; background:transparent; color:#d99400; font-size:1.45rem; line-height:1; cursor:pointer; padding:0; }
.admin-person-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:500 .86rem/1.1 "Segoe UI",sans-serif; }
.admin-person-tags { display:flex; gap:3px; max-width:135px; overflow:hidden; }
.admin-person-tags span { padding:3px 5px; border-radius:3px; font:500 .58rem/1 "Segoe UI",sans-serif; white-space:nowrap; }
.admin-person-status { width:22px; height:22px; display:grid; place-items:center; border:2px solid currentColor; border-radius:50%; font:800 .78rem/1 Arial; }
.admin-person-status.is-payment { color:#48a900; }
.admin-person-status.is-confirmed { color:#dfa000; }
.admin-person-status.is-waiting { color:#e4e4e4; border:0; font-size:1rem; }
.admin-person-status.is-pending { color:#dfa000; border:0; font-size:1rem; }
.admin-status-select { width:19px; height:24px; border:0; background:transparent; color:#d6d6d6; font-size:0; cursor:pointer; appearance:auto; }
.admin-person-trash { border:0; background:transparent; color:#c8c8c8; padding:0; cursor:pointer; font-size:1rem; }
.admin-person-trash:hover { color:#e32c2c; }
.admin-person-row-empty { grid-template-columns:22px 28px 1fr; color:rgba(230,230,230,.28); font-size:.72rem; font-style:italic; }
.admin-waiting-header { grid-template-columns:minmax(180px,1fr) auto auto auto; background:rgba(65,65,65,.72); color:#ddd; border-bottom:1px solid rgba(213,139,0,.65); }
.admin-waiting-header button { border:0; background:transparent; color:#ddd; font:700 .76rem/1 "Arial Narrow",sans-serif; cursor:pointer; white-space:nowrap; }
.admin-waiting-list { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); }
.admin-waiting-person { min-height:86px; display:grid; grid-template-columns:18px 38px 18px minmax(0,1fr) 14px 22px; grid-template-rows:auto auto; align-items:center; gap:4px; padding:7px; border-right:1px solid rgba(211,139,0,.34); }
.admin-waiting-person .admin-person-avatar { width:38px; height:38px; }
.admin-wait-name { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#ddd; font-size:.72rem; }
.admin-waiting-person .admin-person-tags { grid-column:2/5; max-width:100%; }
.admin-wait-up { color:#ddd; font-weight:700; }
.admin-waiting-empty { grid-template-columns:18px 1fr; color:rgba(230,230,230,.3); font-size:.7rem; }
.admin-state-legend { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 20px; color:#d6d3cd; font:600 .7rem/1.2 "Arial Narrow","Segoe UI",sans-serif; }
.admin-state-legend span { display:inline-flex; align-items:center; gap:7px; }
.admin-edit-feedback { min-height:24px; margin:12px auto 0; color:#d99c13; text-align:center; font:600 .82rem/1.3 "Segoe UI",sans-serif; }
.admin-edit-feedback.is-error { color:#d62222; }
.admin-no-list { padding:30px; text-align:center; color:#d99b10; }

.admin-list-modal[hidden] { display:none!important; }
.admin-list-modal { position:fixed; inset:0; z-index:300; overflow-y:auto; padding:24px 0; }
.admin-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.78); backdrop-filter:blur(7px); }
.admin-modal-dialog { position:relative; z-index:1; width:min(600px,calc(100vw - 24px)); margin:20px auto; padding:28px 24px 24px; border:1.5px solid rgba(213,139,0,.9); border-radius:18px; background:linear-gradient(rgba(10,10,10,.95),rgba(10,10,10,.95)),url("texturas do site/textura-couro-preto-tileavel.png") center/420px repeat; color:#eee; }
.admin-modal-dialog h2 { margin:0 0 22px; text-align:center; color:#f0eee7; font:500 1.55rem/1 Georgia,serif; letter-spacing:.1em; }
.admin-modal-close { position:absolute; top:8px; right:12px; border:0; background:transparent; color:#e0a116; font-size:2rem; cursor:pointer; }
.admin-modal-stack,.admin-label-editor,.admin-label-fields { display:flex; flex-direction:column; gap:12px; }
.admin-modal-stack label,.admin-label-editor label { display:flex; flex-direction:column; gap:6px; color:#e0a116; font:700 .84rem/1.2 "Segoe UI",sans-serif; }
.admin-user-results { display:flex; flex-direction:column; gap:7px; max-height:340px; overflow-y:auto; }
.admin-user-result { min-height:48px; display:flex; align-items:center; justify-content:space-between; border:1px solid rgba(213,139,0,.5); border-radius:8px; background:rgba(0,0,0,.25); color:#eee; padding:8px 12px; cursor:pointer; }
.admin-user-result small { color:#d99b10; }
.admin-label-fields { display:grid; grid-template-columns:1fr 2fr 1fr 1fr; }
.admin-label-preview { padding:16px; text-align:center; }
.admin-label-preview span,.admin-person-label-list span { display:inline-block; padding:5px 8px; border-radius:4px; }
.admin-label-buttons { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.admin-person-label-list { display:flex; flex-direction:column; gap:10px; }
.admin-person-label-list label { display:flex; align-items:center; gap:10px; }
.admin-person-label-list .profile-save-button { margin-top:12px; }
body.admin-modal-open { overflow-y:auto; }

@media (max-width:1000px) {
  .admin-edit-grid { grid-template-columns:1fr; }
  .admin-edit-actions { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; padding:0; }
  .admin-edit-action { white-space:normal; min-height:74px; font-size:.72rem; }
}
@media (max-width:700px) {
  .admin-edit-list-panel { padding:82px 8px 42px; }
  .admin-edit-branding { top:60px; left:18px; transform:scale(.66); }
  .admin-edit-exit { top:46px!important; right:7px!important; transform:scale(.75); transform-origin:right top; }
  .admin-delete-list-button { top:88px; right:12px; font-size:2.3rem; }
  .admin-edit-title { font-size:1.35rem; gap:8px; }
  .admin-edit-title span { width:24px; }
  .admin-edit-actions { grid-template-columns:1fr; gap:8px; }
  .admin-edit-action { min-height:56px; grid-template-columns:42px 1fr; white-space:nowrap; }
  .admin-realtime-header { grid-template-columns:auto 1fr; gap:7px; padding:7px 10px; }
  .admin-realtime-header span:nth-last-child(-n+2) { font-size:.7rem; text-align:right; }
  .admin-primary-list { grid-template-columns:1fr; }
  .admin-primary-column:first-child { border-right:0; }
  .admin-person-row { grid-template-columns:20px 24px 30px 20px minmax(70px,1fr) 22px 18px 23px; }
  .admin-person-tags { grid-column:5/9; max-width:100%; }
  .admin-person-status { grid-column:auto; }
  .admin-waiting-header { grid-template-columns:1fr auto; padding:8px 10px; }
  .admin-waiting-header span { font-size:.68rem; }
  .admin-waiting-list { grid-template-columns:1fr 1fr; }
  .admin-label-fields { grid-template-columns:1fr 1fr; }
}

/* ===== Ajustes finais: carrossel clicável e modais administrativos funcionais ===== */
.admin-user-result.is-selected {
  border-color: #e6aa18;
  background: rgba(224, 161, 22, .16);
  box-shadow: inset 0 0 0 1px rgba(230, 170, 24, .32);
}
.admin-modal-submit:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.admin-modal-inline-feedback {
  min-height: 1.25em;
  margin: 0;
  color: #e5a80f;
  font: 500 .82rem/1.3 "Segoe UI", Arial, sans-serif;
  text-align: center;
}
.admin-label-select-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px;
  align-items: end;
  gap: 10px;
}
.admin-label-select-row > label {
  min-width: 0;
}
.admin-new-label-button {
  width: 46px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1.5px solid rgba(217, 155, 16, .9);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(0,0,0,.06)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/180px 180px repeat,
    #dca014;
  color: #111;
  font: 400 1.85rem/1 "Segoe UI", Arial, sans-serif;
  cursor: pointer;
  padding: 0;
}
.admin-label-buttons-single {
  display: block !important;
}
.admin-label-save-button {
  width: 100% !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: .035em !important;
}

@media (max-width: 640px) {
  .admin-label-select-row {
    grid-template-columns: minmax(0, 1fr) 42px;
  }
  .admin-new-label-button {
    width: 42px;
    height: 40px;
  }
}


/* ===== Organização final das linhas de participantes no ADM ===== */
.admin-person-row {
  grid-template-columns: 22px 28px 32px 22px minmax(0, 1fr) 48px 24px !important;
  grid-template-areas: "drag number avatar plus info status trash" !important;
  column-gap: 6px !important;
  min-height: 50px !important;
  padding: 4px 8px !important;
}
.admin-person-row .admin-drag-handle { grid-area: drag; }
.admin-person-row .admin-person-number { grid-area: number; }
.admin-person-row .admin-person-avatar { grid-area: avatar; }
.admin-person-row .admin-person-add-tag { grid-area: plus; }
.admin-person-info {
  grid-area: info;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 4px;
  overflow: hidden;
}
.admin-person-info .admin-person-name {
  display: block;
  width: 100%;
  min-width: 0;
  text-align: left;
}
.admin-person-info .admin-person-tags {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 3px;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
}
.admin-status-control {
  grid-area: status;
  width: 48px;
  display: grid;
  grid-template-columns: 24px 16px;
  align-items: center;
  justify-content: end;
  gap: 4px;
}
.admin-status-control .admin-person-status {
  width: 22px;
  height: 22px;
}
.admin-status-control .admin-status-select {
  width: 16px;
  height: 22px;
  margin: 0;
  justify-self: end;
}
.admin-person-row .admin-person-trash {
  grid-area: trash;
  justify-self: end;
  align-self: center;
  width: 22px;
  text-align: right;
}
.admin-person-row-empty {
  grid-template-columns: 22px 28px minmax(0,1fr) !important;
  grid-template-areas: "drag number info" !important;
}

@media (max-width: 700px) {
  .admin-person-row {
    grid-template-columns: 20px 24px 30px 20px minmax(0,1fr) 46px 22px !important;
    grid-template-areas: "drag number avatar plus info status trash" !important;
    min-height: 52px !important;
  }
  .admin-person-info .admin-person-tags span {
    font-size: .54rem;
  }
}


/* Ajuste de escala das etiquetas no gerenciador ADM */
.admin-person-tags {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 3px !important;
  align-items: center !important;
  max-width: 100% !important;
  overflow: hidden !important;
}
.admin-person-tags > span {
  padding: 2px 4px !important;
  border-radius: 3px !important;
  font-size: clamp(.48rem, .56vw, .58rem) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  flex: 0 0 auto !important;
}
@media (max-width: 760px) {
  .admin-person-tags > span {
    font-size: clamp(.46rem, 1.7vw, .54rem) !important;
    padding: 2px 3px !important;
  }
}

/* ===== Etiquetas multilinha, menu de status e responsável do convidado ===== */
.admin-person-row {
  min-height: 50px !important;
  height: auto !important;
  align-items: center !important;
}

.admin-person-info {
  overflow: visible !important;
  padding: 4px 0 !important;
}

.admin-person-info .admin-person-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 3px !important;
  width: 100% !important;
  max-width: 100% !important;
  max-height: calc((1.05em + 4px) * 3 + 6px) !important;
  overflow: hidden !important;
}

.admin-person-tags > span {
  flex: 0 0 auto !important;
  max-width: 100% !important;
  padding: 2px 4px !important;
  border-radius: 3px !important;
  font-size: clamp(.47rem, .54vw, .57rem) !important;
  line-height: 1.05 !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
}

.admin-status-control {
  position: relative !important;
  overflow: visible !important;
}

.admin-status-toggle {
  width: 16px;
  height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #dedede;
  font-size: 1rem;
  line-height: 1;
  cursor: pointer;
}

.admin-status-menu {
  position: absolute;
  z-index: 80;
  top: calc(100% + 5px);
  right: 0;
  width: 210px;
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 7px;
  border: 1px solid rgba(218,151,0,.9);
  border-radius: 8px;
  background: #0b0b0b;
  box-shadow: 0 8px 18px rgba(0,0,0,.48);
}

.admin-status-menu[hidden] {
  display: none !important;
}

.admin-status-option {
  display: grid;
  grid-template-columns: 24px minmax(0,1fr);
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 4px 7px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #ececec;
  text-align: left;
  font: 600 .78rem/1.15 "Segoe UI", Arial, sans-serif;
  cursor: pointer;
}

.admin-status-option:hover {
  background: rgba(218,151,0,.13);
}

.admin-person-status.is-approved,
.participant-state-approved {
  color: #2897ff !important;
  border-color: #2897ff !important;
}

.admin-person-status.is-rejected,
.participant-state-rejected {
  color: #d51d1d !important;
  border-color: #d51d1d !important;
}

.admin-guest-owner {
  display: grid;
  grid-template-columns: 15px minmax(0,auto) 12px;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  color: #a9a9a9;
  font: 600 .55rem/1 "Segoe UI", Arial, sans-serif;
  margin-bottom: 1px;
}

.admin-guest-owner-avatar {
  width: 14px;
  height: 14px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(218,151,0,.85);
  border-radius: 50%;
  font-size: .38rem;
}

.admin-guest-owner-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.admin-guest-owner-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-guest-owner-arrow {
  color: #d99b10;
  font-size: .72rem;
  line-height: 1;
}

.admin-wait-info {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 3px;
}

.admin-wait-info .admin-person-tags {
  display: flex !important;
  flex-wrap: wrap !important;
  max-height: calc((1.05em + 4px) * 3 + 6px) !important;
  overflow: hidden !important;
}

@media (max-width: 760px) {
  .admin-person-tags > span {
    font-size: clamp(.46rem, 1.55vw, .53rem) !important;
    padding: 2px 3px !important;
  }
  .admin-status-menu {
    width: 190px;
    right: -24px;
  }
}

/* Responsável do convidado também na visualização dos membros */
.participant-row:not(.participant-row-empty) {
  grid-template-columns: 30px 34px minmax(70px,1fr) 28px !important;
}
.participant-name-wrap,
.waiting-name-wrap {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.participant-name-wrap .participant-tags {
  justify-content: flex-start;
  flex-wrap: wrap;
}
.participant-owner-line {
  display: grid;
  grid-template-columns: 14px minmax(0,auto) 10px;
  align-items: center;
  gap: 3px;
  max-width: 100%;
  color: #999;
  font: 600 .52rem/1 "Segoe UI",Arial,sans-serif;
}
.participant-owner-avatar {
  width: 13px;
  height: 13px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid #d99500;
  border-radius: 50%;
  font-size: .35rem;
}
.participant-owner-avatar img { width:100%;height:100%;object-fit:cover; }
.participant-owner-name { overflow:hidden;text-overflow:ellipsis;white-space:nowrap; }
.participant-owner-arrow { color:#d99500;font-size:.65rem; }
.waiting-person:not(.waiting-person-empty) {
  grid-template-columns: 20px 38px minmax(0,1fr) 14px !important;
}

@media (max-width:700px) {
  .participant-row:not(.participant-row-empty) {
    grid-template-columns: 28px 34px minmax(70px,1fr) 28px !important;
  }
}


/* ===== Visibilidade por etiqueta e menu de status persistente ===== */
.admin-person-label-option {
  display: grid !important;
  grid-template-columns: 22px minmax(0, 1fr) 28px !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100%;
}
.admin-person-label-chip {
  justify-self: start;
  max-width: 100%;
}
.admin-label-visibility {
  justify-self: end;
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  font-size: .92rem;
  line-height: 1;
}
.admin-label-visibility.is-public { color: #2f9cff; }
.admin-label-visibility.is-private { color: #e62828; }
.admin-label-eye { pointer-events: none; }
.admin-status-menu { pointer-events: auto; }
.participant-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  align-items: flex-start;
}
.participant-tag {
  white-space: nowrap;
}

/* Carrossel de listas: clique e arraste com centralização fluida */
.active-list-carousel-track {
  transition: transform .38s cubic-bezier(.22,.61,.36,1);
}
.carousel-list-option {
  transition: transform .34s cubic-bezier(.22,.61,.36,1), opacity .26s ease;
  cursor: pointer;
}
.carousel-list-icon,
.carousel-list-name {
  transition: width .34s cubic-bezier(.22,.61,.36,1), height .34s cubic-bezier(.22,.61,.36,1), color .22s ease, border-color .22s ease, box-shadow .22s ease;
}


/* ===== Estado inicial ampliado dos carrosséis ===== */
.active-list-carousel.is-overview {
  min-height: 188px !important;
  padding-top: 12px !important;
}
.active-list-carousel.is-overview .carousel-list-option {
  width: clamp(120px, 13vw, 170px) !important;
}
.active-list-carousel.is-overview .carousel-list-option.is-selected .carousel-list-icon {
  width: 116px !important;
  height: 116px !important;
}
.active-list-carousel.is-overview .carousel-list-option.is-near .carousel-list-icon {
  width: 94px !important;
  height: 94px !important;
}
.active-list-carousel.is-overview .carousel-list-option.is-far .carousel-list-icon {
  width: 82px !important;
  height: 82px !important;
}
.active-list-carousel.is-overview .carousel-list-name {
  font-size: 1rem !important;
  max-width: 170px !important;
}
.active-list-carousel.is-overview .carousel-dots {
  margin-top: 49px !important;
  font-size: 1.65rem !important;
}
.selected-list-summary[hidden], .member-list-content[hidden] { display: none !important; }

/* Gerenciador ADM com o mesmo carrossel */
.manage-carousel-heading { grid-template-columns: 1fr auto !important; }
.manage-create-icon-button {
  position: absolute;
  top: 18px;
  right: 8px;
  z-index: 7;
  width: 48px;
  height: 48px;
  border: 0;
  background: transparent;
  color: #e0a116;
  font: 400 2.7rem/1 Arial, sans-serif;
  cursor: pointer;
}
.manage-list-carousel { margin-top: 22px; }
.manage-carousel-hint { margin: 8px 0 0; text-align: center; color: rgba(235,232,224,.62); font: 500 .86rem/1.4 "Segoe UI", sans-serif; }
.manage-carousel-empty { width: 100%; text-align:center; color:#e0a116; }

/* Ferramentas superiores da edição ADM */
.admin-list-top-tools {
  position: absolute;
  top: 94px;
  right: 38px;
  z-index: 7;
  display: flex;
  align-items: center;
  gap: 16px;
}
.admin-top-tool {
  position: static !important;
  width: 42px;
  height: 42px;
  border: 0;
  background: transparent;
  color: #d99b10;
  font: 400 2rem/1 Arial, sans-serif;
  cursor: pointer;
}
.admin-top-tool-archive { font-size: 1.65rem; }
.admin-delete-list-button { color: #d42424 !important; font-size: 2.8rem !important; }

@media (max-width: 650px) {
  .active-list-carousel.is-overview { min-height: 158px !important; }
  .active-list-carousel.is-overview .carousel-list-option { width: 106px !important; }
  .active-list-carousel.is-overview .carousel-list-option.is-selected .carousel-list-icon { width: 94px !important; height:94px !important; }
  .active-list-carousel.is-overview .carousel-list-option.is-near .carousel-list-icon { width: 76px !important; height:76px !important; }
  .active-list-carousel.is-overview .carousel-list-option.is-far .carousel-list-icon { width: 66px !important; height:66px !important; }
  .active-list-carousel.is-overview .carousel-dots { margin-top: 38px !important; }
  .admin-list-top-tools { top: 82px; right: 8px; gap: 8px; transform: scale(.82); transform-origin: right top; }
}

.admin-edit-carousel { min-height: 126px; margin: 0 auto 12px; }
.admin-list-selector-hidden { display:none !important; }
@media (max-width:650px){ .admin-edit-carousel { min-height:112px; margin-bottom:8px; } }

/* ===== Ícones vetoriais de status, sem emojis ===== */
.admin-person-status {
  width: 22px !important;
  height: 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  display: grid !important;
  place-items: center !important;
}
.admin-person-status img {
  width: 21px;
  height: 21px;
  display: block;
  object-fit: contain;
}
.admin-status-option .admin-person-status img {
  width: 20px;
  height: 20px;
}
.participant-status-icon {
  width: 23px;
  height: 23px;
  display: grid;
  place-items: center;
  justify-self: center;
}
.participant-status-icon img {
  width: 22px;
  height: 22px;
  display: block;
  object-fit: contain;
}
.legend-status-icon {
  width: 20px;
  height: 20px;
  display: block;
  object-fit: contain;
}

/* ===== Popup de pagamento e confirmação de presença ===== */
.payment-confirm-modal[hidden] {
  display: none !important;
}
.payment-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 260;
  display: grid;
  place-items: center;
  padding: 18px;
}
.payment-confirm-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .8);
  backdrop-filter: blur(8px);
}
.payment-confirm-dialog {
  position: relative;
  z-index: 1;
  width: min(440px, calc(100vw - 28px));
  padding: 34px 28px 28px;
  border: 1.5px solid rgba(218, 153, 0, .95);
  border-radius: 18px;
  background:
    linear-gradient(rgba(10,10,10,.96), rgba(10,10,10,.96)),
    url("texturas do site/textura-couro-preto-tileavel.png") center/420px 420px repeat,
    #090909;
  box-shadow: 0 22px 64px rgba(0,0,0,.72), inset 0 0 0 1px rgba(255,255,255,.025);
  text-align: center;
}
.payment-confirm-close {
  position: absolute;
  top: 8px;
  right: 12px;
  width: 38px;
  height: 38px;
  border: 0;
  background: transparent;
  color: #e0a116;
  font-size: 2rem;
  line-height: 1;
  cursor: pointer;
}
.payment-confirm-dialog h2 {
  margin: 0 0 24px;
  color: #f0ede4;
  font: 500 clamp(1.2rem, 3vw, 1.65rem)/1.2 Georgia, "Times New Roman", serif;
  letter-spacing: .08em;
}
.payment-confirm-value-label {
  margin-bottom: 5px;
  color: rgba(240,240,240,.7);
  font: 600 .76rem/1.2 "Segoe UI", Arial, sans-serif;
  letter-spacing: .12em;
}
.payment-confirm-value {
  margin-bottom: 22px;
  color: #e3a312;
  font: 700 clamp(2.5rem, 8vw, 4rem)/1 "Segoe UI", Arial, sans-serif;
  letter-spacing: .01em;
}
.payment-copy-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.payment-copy-button,
.payment-confirm-presence-button {
  position: relative;
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 10px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.035), rgba(0,0,0,.06)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #dda215;
  color: #111;
  font: 650 .92rem/1.15 "Segoe UI", Arial, sans-serif;
  letter-spacing: .025em;
  cursor: pointer;
}
.payment-copy-button::after,
.payment-confirm-presence-button::after {
  content: "";
  position: absolute;
  inset: 4px;
  border: 1px dashed #111;
  border-radius: 7px;
  pointer-events: none;
}
.payment-copy-feedback {
  min-height: 20px;
  margin: 10px 0 6px;
  color: #e1b13c;
  font: 500 .8rem/1.35 "Segoe UI", Arial, sans-serif;
}
.payment-copy-feedback.is-error {
  color: #c51111;
}
.payment-confirm-presence-button {
  margin-top: 4px;
  min-height: 58px;
  font-size: 1rem;
}
.payment-confirm-presence-button:disabled {
  opacity: .55;
  cursor: default;
}
body.payment-modal-open {
  overflow: hidden;
}

@media (max-width: 520px) {
  .payment-confirm-dialog {
    width: min(420px, calc(100vw - 18px));
    padding: 30px 18px 20px;
  }
  .payment-confirm-dialog h2 {
    margin-bottom: 18px;
  }
  .payment-confirm-value {
    margin-bottom: 18px;
  }
}


/* Ajuste do fluxo de pagamento e confirmação */
.payment-flow-message {
  min-height: 46px;
  margin: 8px 0 10px;
  color: rgba(242, 239, 230, .88);
  font: 500 .86rem/1.4 "Segoe UI", Arial, sans-serif;
  text-align: center;
}
.payment-flow-message:empty {
  min-height: 0;
  margin: 0;
}
.payment-flow-message img {
  width: 19px;
  height: 19px;
  vertical-align: -4px;
  margin: 0 3px;
}
.payment-confirm-presence-button {
  background:
    linear-gradient(180deg, rgba(128, 185, 87, .18), rgba(29, 72, 34, .16)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #c5a92a;
}
.payment-confirm-presence-button.is-success {
  box-shadow: inset 0 0 0 3px #2faa2f !important;
}
.payment-confirm-presence-button.is-success::after {
  border-color: #0c5f18 !important;
}
.payment-confirm-close:disabled,
.payment-confirm-backdrop:disabled {
  pointer-events: none;
}


/* ===== Ajuste final do pagamento: tipografia máquina de escrever e botões verdes compactos ===== */
.payment-flow-message {
  font-weight: 400 !important;
  font-family: "Courier New", Courier, monospace !important;
  font-size: .84rem !important;
  letter-spacing: .01em;
}

.payment-confirm-presence-button {
  min-height: 52px !important;
  background:
    linear-gradient(180deg, rgba(137, 190, 112, .22), rgba(27, 83, 39, .28)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #6f9d36 !important;
  color: #081007 !important;
}

.member-list-action-primary[data-action="confirm"] {
  min-height: 56px !important;
  background:
    linear-gradient(180deg, rgba(137, 190, 112, .22), rgba(27, 83, 39, .28)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px 220px repeat,
    #6f9d36 !important;
}

.member-list-action-primary[data-action="confirm"]::after,
.payment-confirm-presence-button::after {
  border-color: #0c3514 !important;
}

@media (max-width: 650px) {
  .member-list-action-primary[data-action="confirm"],
  .payment-confirm-presence-button {
    min-height: 54px !important;
  }
}

/* ===== Gerenciar usuários (ADM) ===== */
.action-manage-users[hidden] { display: none !important; }
body.role-admin #manage-users-button {
  display: grid !important;
  grid-column: 1;
  grid-row: 2;
}
body.role-admin .action-grid {
  align-items: stretch;
}
.manage-users-page { overflow-x: hidden; overflow-y: auto; background:#080808; }
.manage-users-shell { min-height: 100dvh; }
.manage-users-panel {
  max-width: 1580px;
  min-height: calc(100dvh - 72px);
  padding: clamp(92px,9vh,116px) clamp(28px,4vw,70px) clamp(44px,6vh,74px);
}
.manage-users-panel .athlete-card-frame {
  inset: 48px 18px 30px;
  clip-path: polygon(4% 0,46% 0,48% 3%,52% 3%,54% 0,96% 0,100% 12%,100% 88%,91% 100%,9% 100%,0 82%,0 20%);
}
.manage-users-branding { position:absolute; top:62px; left:58px; transform:scale(.88); transform-origin:left top; }
.manage-users-logout { top:48px !important; right:28px !important; }
.manage-users-core { position:relative; z-index:3; width:min(100%,1320px); margin:0 auto; }
.manage-users-header-row {
  display:grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 24px;
  align-items:center;
  margin-bottom: 26px;
}
.manage-users-title {
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:#e8a719;
  font:700 clamp(1.8rem,4vw,4rem)/1 "Arial Narrow","Segoe UI",sans-serif;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.manage-users-title span {
  width:clamp(36px,5vw,62px);
  height:4px;
  background:#d99400;
  clip-path:polygon(0 50%,72% 0,100% 50%,72% 100%);
}
.manage-users-title span:last-child { transform:scaleX(-1); }
.manage-users-create {
  min-height:72px;
  display:flex;
  align-items:center;
  gap:16px;
  padding:0 26px;
  border:1.5px solid rgba(20,14,5,.9);
  border-radius:8px;
  background:linear-gradient(rgba(216,153,20,.94),rgba(216,153,20,.94)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px repeat;
  box-shadow:inset 0 0 0 2px rgba(55,32,1,.34);
  color:#16110a;
  font:700 clamp(.92rem,1.35vw,1.18rem)/1 "Arial Narrow","Segoe UI",sans-serif;
  text-transform:uppercase;
  cursor:pointer;
}
.manage-users-create-plus {
  width:34px; height:34px; display:grid; place-items:center; border:2px solid rgba(24,18,9,.88); font-size:2rem; line-height:1; border-radius:2px;
}
.manage-users-table-shell {
  border:1.8px solid rgba(213,139,0,.75);
  border-radius:18px;
  overflow:hidden;
  background:rgba(7,7,7,.58);
}
.manage-users-head,
.manage-users-row {
  display:grid;
  grid-template-columns: 1.25fr 1fr 1fr 1fr 136px;
  align-items:center;
}
.manage-users-head {
  min-height:76px;
  color:#d9a11a;
  font:700 clamp(1rem,1.25vw,1.15rem)/1 "Arial Narrow","Segoe UI",sans-serif;
  text-transform:uppercase;
}
.manage-users-head > div,
.manage-users-row > div { padding: 0 18px; }
.manage-users-head > div:not(:first-child),
.manage-users-row > div:not(:first-child) { border-left:1px solid rgba(213,139,0,.28); }
.manage-users-rows { display:flex; flex-direction:column; }
.manage-users-row {
  min-height:74px;
  border-top:1px solid rgba(213,139,0,.18);
  color:#e6dfcf;
}
.manage-users-row.is-dirty { background:rgba(217,145,18,.05); }
.manage-users-row.is-new { box-shadow: inset 0 0 0 1px rgba(213,139,0,.45); }
.manage-users-input,
.manage-users-select {
  width:100%;
  height:42px;
  border:1.5px solid rgba(179,179,179,.45);
  border-radius:4px;
  background:rgba(7,7,7,.88);
  color:#e8e5dc;
  padding:0 14px;
  font:500 clamp(.95rem,1vw,1rem)/1 "Segoe UI",Arial,sans-serif;
  outline:none;
}
.manage-users-row.is-dirty .manage-users-input,
.manage-users-row.is-dirty .manage-users-select { border-color:#d99400; }
.manage-users-input:focus,
.manage-users-select:focus { border-color:#d99400; box-shadow:0 0 0 1px rgba(217,148,0,.22); }
.manage-users-select { appearance:auto; }
.manage-users-actions-cell {
  display:flex;
  justify-content:center;
  align-items:center;
  gap:16px;
}
.manage-users-icon-button {
  width:34px;
  height:34px;
  border:0;
  background:transparent;
  cursor:pointer;
  display:grid;
  place-items:center;
  color:#9d9d9d;
}
.manage-users-icon-button svg { width:24px; height:24px; fill: currentColor; }
.manage-users-icon-button.is-save { color:#d8a014; }
.manage-users-icon-button.is-delete:hover { color:#e03232; }
.manage-users-icon-button.is-save:hover { color:#ffd24a; }
.manage-users-feedback {
  min-height:24px;
  margin:16px 0 0;
  text-align:center;
  color:#d99c13;
  font:600 .85rem/1.35 "Segoe UI",sans-serif;
}
.manage-users-feedback.is-error { color:#d62222; }

/* textura verde real para os botões de confirmar/pagar */
.payment-confirm-presence-button,
.member-list-action-primary[data-action="confirm"] {
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(0,0,0,.08)),
    url("texturas do site/textura-base-janelas-couro-verde.png") center/220px 220px repeat,
    #688d39 !important;
}

@media (max-width: 1120px) {
  .manage-users-header-row { grid-template-columns: 1fr; }
  .manage-users-create { justify-content:center; }
  .manage-users-head,
  .manage-users-row { grid-template-columns: 1.1fr 1fr 1fr 1fr 116px; }
}
@media (max-width: 860px) {
  .manage-users-panel { padding:82px 10px 40px; }
  .manage-users-branding { top:60px; left:16px; transform:scale(.66); }
  .manage-users-logout { top:46px !important; right:7px !important; transform:scale(.75); transform-origin:right top; }
  .manage-users-title { font-size: 1.75rem; gap:10px; }
  .manage-users-title span { width:24px; }
  .manage-users-head { display:none; }
  .manage-users-row {
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 14px 0;
  }
  .manage-users-row > div { border-left:0 !important; }
  .manage-users-cell::before {
    content: attr(data-label);
    display:block;
    margin-bottom:6px;
    color:#d9a11a;
    font:700 .78rem/1 "Arial Narrow","Segoe UI",sans-serif;
    text-transform:uppercase;
  }
  .manage-users-cell-player::before { content:'JOGADOR'; }
  .manage-users-row > div:nth-child(2)::before { content:'USUÁRIO'; display:block; margin-bottom:6px; color:#d9a11a; font:700 .78rem/1 "Arial Narrow","Segoe UI",sans-serif; }
  .manage-users-row > div:nth-child(3)::before { content:'SENHA'; display:block; margin-bottom:6px; color:#d9a11a; font:700 .78rem/1 "Arial Narrow","Segoe UI",sans-serif; }
  .manage-users-row > div:nth-child(4)::before { content:'TIPO DE USUÁRIO'; display:block; margin-bottom:6px; color:#d9a11a; font:700 .78rem/1 "Arial Narrow","Segoe UI",sans-serif; }
  .manage-users-actions-cell { justify-content:flex-end; padding-top:4px; }
  body.role-admin #manage-users-button { grid-row:auto; grid-column:auto; }
}

/* ===== Refinamento sóbrio do gerenciador de usuários ===== */
.manage-users-panel {
  max-width: 1460px !important;
  padding: clamp(82px, 7.4vh, 98px) clamp(24px, 3vw, 48px) clamp(34px, 4vh, 54px) !important;
}
.manage-users-core { width: min(100%, 1180px) !important; }
.manage-users-header-row { gap: 18px !important; margin-bottom: 18px !important; }
.manage-users-title {
  gap: 12px !important;
  font-size: clamp(1.55rem, 2.8vw, 2.75rem) !important;
  font-weight: 500 !important;
  letter-spacing: .035em !important;
}
.manage-users-title span { width: clamp(28px, 4vw, 48px) !important; height: 2px !important; opacity: .78; }
.manage-users-create {
  min-height: 54px !important;
  gap: 11px !important;
  padding: 0 18px !important;
  border-width: 1px !important;
  border-radius: 6px !important;
  font-size: clamp(.76rem, .95vw, .9rem) !important;
  font-weight: 500 !important;
  letter-spacing: .015em !important;
}
.manage-users-create-plus {
  width: 26px !important;
  height: 26px !important;
  border-width: 1px !important;
  font-size: 1.35rem !important;
}
.manage-users-table-shell {
  border-width: 1px !important;
  border-radius: 12px !important;
}
.manage-users-head,
.manage-users-row {
  grid-template-columns: 1.25fr 1fr 1fr 1fr 108px !important;
}
.manage-users-head {
  min-height: 52px !important;
  font-size: clamp(.76rem, .9vw, .88rem) !important;
  font-weight: 500 !important;
  letter-spacing: .015em !important;
}
.manage-users-head > div,
.manage-users-row > div { padding: 0 14px !important; }
.manage-users-head > div:not(:first-child),
.manage-users-row > div:not(:first-child) { border-left-color: rgba(213,139,0,.18) !important; }
.manage-users-row {
  min-height: 58px !important;
  border-top-color: rgba(213,139,0,.13) !important;
}
.manage-users-input,
.manage-users-select {
  height: 34px !important;
  border-width: 1px !important;
  border-radius: 3px !important;
  padding: 0 11px !important;
  font-size: clamp(.76rem, .9vw, .88rem) !important;
  font-weight: 400 !important;
}
.manage-users-actions-cell { gap: 10px !important; }
.manage-users-icon-button { width: 28px !important; height: 28px !important; }
.manage-users-icon-button svg { width: 19px !important; height: 19px !important; }
.manage-users-feedback {
  min-height: 18px !important;
  margin-top: 10px !important;
  font-size: .72rem !important;
  font-weight: 400 !important;
}
.manage-users-branding { transform: scale(.72) !important; }
.manage-users-logout { transform: scale(.82); transform-origin: right top; }

/* Mobile: cada usuário permanece obrigatoriamente em uma única linha */
@media (max-width: 860px) {
  .manage-users-page { overflow-x: hidden !important; }
  .manage-users-panel {
    padding: 72px 4px 30px !important;
    min-width: 0 !important;
  }
  .manage-users-core { width: calc(100vw - 8px) !important; }
  .manage-users-header-row {
    grid-template-columns: minmax(0,1fr) auto !important;
    gap: 5px !important;
    margin-bottom: 9px !important;
  }
  .manage-users-title {
    justify-content: flex-start !important;
    font-size: clamp(.84rem, 4vw, 1.15rem) !important;
    gap: 5px !important;
    white-space: nowrap !important;
  }
  .manage-users-title span { width: 12px !important; }
  .manage-users-create {
    min-height: 32px !important;
    padding: 0 7px !important;
    gap: 5px !important;
    font-size: clamp(.48rem, 2.3vw, .64rem) !important;
    white-space: nowrap !important;
  }
  .manage-users-create-plus {
    width: 18px !important;
    height: 18px !important;
    font-size: .9rem !important;
  }
  .manage-users-table-shell { border-radius: 7px !important; }
  .manage-users-head {
    display: grid !important;
    min-height: 28px !important;
    grid-template-columns: 24% 18% 18% 25% 15% !important;
    font-size: clamp(.42rem, 1.75vw, .57rem) !important;
  }
  .manage-users-head > div,
  .manage-users-row > div { padding: 0 3px !important; min-width: 0 !important; }
  .manage-users-head-actions { display:block !important; }
  .manage-users-row {
    display: grid !important;
    grid-template-columns: 24% 18% 18% 25% 15% !important;
    gap: 0 !important;
    min-height: 39px !important;
    padding: 0 !important;
    white-space: nowrap !important;
  }
  .manage-users-cell::before,
  .manage-users-row > div:nth-child(2)::before,
  .manage-users-row > div:nth-child(3)::before,
  .manage-users-row > div:nth-child(4)::before { display:none !important; content:none !important; }
  .manage-users-input,
  .manage-users-select {
    min-width: 0 !important;
    width: 100% !important;
    height: 25px !important;
    padding: 0 4px !important;
    font-size: clamp(.48rem, 2vw, .63rem) !important;
    border-radius: 2px !important;
  }
  .manage-users-actions-cell {
    justify-content: space-evenly !important;
    gap: 0 !important;
    padding: 0 1px !important;
  }
  .manage-users-icon-button { width: 19px !important; height: 22px !important; }
  .manage-users-icon-button svg { width: 14px !important; height: 14px !important; }
  .manage-users-branding { top: 49px !important; left: 8px !important; transform: scale(.48) !important; }
  .manage-users-logout { top: 36px !important; right: 1px !important; transform: scale(.58) !important; }
  .manage-users-feedback { font-size: .56rem !important; margin-top: 6px !important; }
}

@media (max-width: 480px) {
  .manage-users-head,
  .manage-users-row { grid-template-columns: 23% 18% 18% 26% 15% !important; }
  .manage-users-title span { display:none !important; }
  .manage-users-create span:last-child { font-size:0 !important; }
  .manage-users-create span:last-child::after { content:'NOVO USUÁRIO'; font-size:.54rem; }
}

/* ===== Busca, avatar e encaixe móvel integral do banco de usuários ===== */
.manage-users-search-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 10px;
}
.manage-users-search-box {
  width:min(100%,430px);
  height:38px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 12px;
  border:1px solid rgba(213,139,0,.48);
  border-radius:7px;
  background:rgba(5,5,5,.76);
}
.manage-users-search-box svg { width:17px; height:17px; fill:#d99b10; flex:0 0 auto; }
.manage-users-search-box input {
  width:100%; min-width:0; border:0; outline:0; background:transparent; color:#eee;
  font:400 .8rem/1 "Segoe UI",Arial,sans-serif;
}
.manage-users-search-box input::placeholder { color:rgba(230,230,230,.48); }
.manage-users-count { color:#c99a2e; font:400 .7rem/1 "Segoe UI",Arial,sans-serif; white-space:nowrap; }
.manage-users-cell-player { display:flex; align-items:center; gap:8px; min-width:0; }
.manage-users-avatar {
  width:28px; height:28px; flex:0 0 28px; position:relative; display:block; overflow:hidden;
  border:1px solid rgba(217,153,18,.75); border-radius:50%; background:#202020;
}
.manage-users-avatar img { width:100%; height:100%; object-fit:cover; display:block; }
.manage-users-avatar-head {
  position:absolute; width:8px; height:8px; border-radius:50%; background:#aaa; left:50%; top:5px; transform:translateX(-50%);
}
.manage-users-avatar-body {
  position:absolute; width:17px; height:10px; border-radius:9px 9px 3px 3px; background:#aaa; left:50%; bottom:3px; transform:translateX(-50%);
}
.manage-users-fit-frame { width:100%; position:relative; }

@media (max-width:860px) {
  .manage-users-core { width:100% !important; padding:0 12px !important; box-sizing:border-box; }
  .manage-users-search-row { margin-bottom:7px; gap:6px; }
  .manage-users-search-box { height:31px; padding:0 8px; border-radius:5px; }
  .manage-users-search-box svg { width:13px; height:13px; }
  .manage-users-search-box input { font-size:.62rem; }
  .manage-users-count { font-size:.52rem; }
  .manage-users-fit-frame { width:100%; overflow:visible; display:flex; justify-content:center; }
  .manage-users-table-shell { flex:0 0 640px; margin:0 auto; }
  .manage-users-head,
  .manage-users-row { grid-template-columns: 190px 112px 112px 150px 76px !important; }
  .manage-users-head { font-size:10px !important; }
  .manage-users-row { min-height:46px !important; }
  .manage-users-input,
  .manage-users-select { height:29px !important; font-size:10px !important; padding:0 6px !important; }
  .manage-users-avatar { width:26px; height:26px; flex-basis:26px; }
  .manage-users-head > div,
  .manage-users-row > div { padding:0 5px !important; }
  .manage-users-icon-button { width:25px !important; height:25px !important; }
  .manage-users-icon-button svg { width:16px !important; height:16px !important; }
}

/* Correção mobile: compressão exclusivamente horizontal da tabela */
@media (max-width: 860px) {
  .manage-users-fit-frame {
    width: calc(100vw - 12px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow: visible !important;
  }
  .manage-users-table-shell {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  .manage-users-row,
  .manage-users-head {
    min-height: unset;
  }
}

/* ===== Responsividade inteligente final do gerenciador de usuários ===== */
@media (max-width: 860px) {
  .manage-users-page {
    overflow-x: hidden !important;
    overflow-y: auto !important;
  }

  .manage-users-panel {
    min-height: 100dvh !important;
    height: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    padding-bottom: 44px !important;
  }

  .manage-users-core {
    width: 100% !important;
    max-width: none !important;
    padding-left: clamp(7px, 2.4vw, 14px) !important;
    padding-right: clamp(7px, 2.4vw, 14px) !important;
    box-sizing: border-box !important;
  }

  .manage-users-header-row {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: clamp(5px, 1.5vw, 10px) !important;
    align-items: center !important;
  }

  .manage-users-title {
    min-width: 0 !important;
    font-size: clamp(.82rem, 4vw, 1.25rem) !important;
    letter-spacing: .015em !important;
    white-space: nowrap !important;
  }

  .manage-users-create {
    min-width: 0 !important;
    min-height: clamp(30px, 8vw, 39px) !important;
    padding: 0 clamp(6px, 1.8vw, 11px) !important;
    gap: clamp(4px, 1vw, 7px) !important;
    font-size: clamp(.46rem, 1.9vw, .7rem) !important;
    white-space: nowrap !important;
  }

  .manage-users-create-plus {
    width: clamp(18px, 5vw, 24px) !important;
    height: clamp(18px, 5vw, 24px) !important;
    font-size: clamp(.85rem, 3.4vw, 1.15rem) !important;
  }

  .manage-users-search-row {
    width: 100% !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }

  .manage-users-search-box {
    min-width: 0 !important;
    height: clamp(29px, 7vw, 34px) !important;
  }

  .manage-users-search-box input {
    min-width: 0 !important;
    font-size: clamp(.52rem, 2vw, .68rem) !important;
  }

  .manage-users-count {
    font-size: clamp(.44rem, 1.65vw, .58rem) !important;
  }

  .manage-users-fit-frame {
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    display: block !important;
  }

  .manage-users-table-shell {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    transform: none !important;
    border-radius: clamp(5px, 1.6vw, 8px) !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .manage-users-head,
  .manage-users-row {
    width: 100% !important;
    min-width: 0 !important;
    grid-template-columns: minmax(0, 31%) minmax(0, 18%) minmax(0, 18%) minmax(0, 24%) minmax(34px, 9%) !important;
    box-sizing: border-box !important;
  }

  .manage-users-head {
    display: grid !important;
    min-height: clamp(25px, 7vw, 34px) !important;
    font-size: clamp(.42rem, 1.65vw, .62rem) !important;
    letter-spacing: 0 !important;
  }

  .manage-users-row {
    display: grid !important;
    min-height: clamp(39px, 10.5vw, 50px) !important;
    height: auto !important;
    padding: 0 !important;
  }

  .manage-users-head > div,
  .manage-users-row > div {
    min-width: 0 !important;
    padding-left: clamp(2px, .8vw, 5px) !important;
    padding-right: clamp(2px, .8vw, 5px) !important;
    box-sizing: border-box !important;
  }

  .manage-users-cell-player {
    gap: clamp(2px, .8vw, 5px) !important;
    min-width: 0 !important;
  }

  .manage-users-avatar {
    width: clamp(17px, 5vw, 25px) !important;
    height: clamp(17px, 5vw, 25px) !important;
    flex: 0 0 clamp(17px, 5vw, 25px) !important;
    border-width: 1px !important;
  }

  .manage-users-avatar-head {
    width: clamp(5px, 1.7vw, 8px) !important;
    height: clamp(5px, 1.7vw, 8px) !important;
  }

  .manage-users-avatar-body {
    width: clamp(9px, 3vw, 14px) !important;
    height: clamp(5px, 1.8vw, 8px) !important;
  }

  .manage-users-input,
  .manage-users-select {
    width: 100% !important;
    min-width: 0 !important;
    height: clamp(25px, 7vw, 32px) !important;
    padding: 0 clamp(2px, .9vw, 6px) !important;
    border-width: 1px !important;
    border-radius: 2px !important;
    font-size: clamp(.43rem, 1.85vw, .65rem) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-overflow: ellipsis !important;
  }

  .manage-users-select {
    padding-right: clamp(10px, 3vw, 18px) !important;
  }

  .manage-users-actions-cell {
    min-width: 0 !important;
    gap: clamp(1px, .6vw, 4px) !important;
    padding-left: 1px !important;
    padding-right: 1px !important;
    justify-content: space-evenly !important;
  }

  .manage-users-icon-button {
    width: clamp(15px, 4.5vw, 22px) !important;
    height: clamp(20px, 6vw, 28px) !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .manage-users-icon-button svg {
    width: clamp(10px, 3vw, 15px) !important;
    height: clamp(10px, 3vw, 15px) !important;
  }

  .manage-users-feedback {
    min-height: 18px !important;
    font-size: clamp(.48rem, 1.8vw, .62rem) !important;
  }
}

@media (max-width: 380px) {
  .manage-users-core {
    padding-left: 5px !important;
    padding-right: 5px !important;
  }

  .manage-users-head,
  .manage-users-row {
    grid-template-columns: minmax(0, 32%) minmax(0, 17.5%) minmax(0, 17.5%) minmax(0, 24%) minmax(30px, 9%) !important;
  }

  .manage-users-head > div,
  .manage-users-row > div {
    padding-left: 1px !important;
    padding-right: 1px !important;
  }

  .manage-users-title span { display: none !important; }
}

/* ===== Terceiro painel administrativo: grupos de mensalistas ===== */
.action-manage-monthly[hidden] { display:none !important; }
body.role-admin #manage-monthly-button { display:grid !important; }
.monthly-page { overflow-x:hidden; overflow-y:auto; background:#080808; }
.monthly-shell { min-height:100dvh; }
.monthly-panel { max-width:1500px; min-height:calc(100dvh - 72px); padding:clamp(92px,9vh,116px) clamp(28px,4vw,70px) clamp(44px,6vh,74px); }
.monthly-panel .athlete-card-frame { inset:48px 18px 30px; clip-path:polygon(4% 0,46% 0,48% 3%,52% 3%,54% 0,96% 0,100% 12%,100% 88%,91% 100%,9% 100%,0 82%,0 20%); }
.monthly-branding { position:absolute; top:62px; left:58px; transform:scale(.88); transform-origin:left top; }
.monthly-logout { top:48px !important; right:28px !important; }
.monthly-core { position:relative; z-index:3; width:min(100%,1260px); margin:0 auto; }
.monthly-heading-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; margin-bottom:32px; }
.monthly-title { margin:0; display:flex; align-items:center; justify-content:center; gap:16px; color:#f0eee7; font:400 clamp(1.8rem,3.1vw,3rem)/1 Georgia,"Times New Roman",serif; letter-spacing:.11em; white-space:nowrap; }
.monthly-title span { width:clamp(34px,5vw,64px); height:4px; background:#d99400; clip-path:polygon(0 50%,72% 0,100% 50%,72% 100%); }
.monthly-title span:last-child { transform:scaleX(-1); }
.monthly-create-button { position:static; font-size:2.5rem; }
.monthly-groups-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.monthly-group-card { min-height:230px; padding:22px 18px 18px; border:1.5px solid rgba(213,139,0,.74); border-radius:18px; background:linear-gradient(rgba(8,8,8,.86),rgba(8,8,8,.86)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat; color:#e6dfcf; text-align:center; display:flex; flex-direction:column; align-items:center; gap:9px; }
.monthly-group-card-icon { width:92px; height:92px; display:grid; place-items:center; border:2px solid #d99400; border-radius:50%; background:#0b0b0b; }
.monthly-group-card-icon img { width:62%; height:62%; object-fit:contain; }
.monthly-group-card h2 { margin:0; color:#dca217; font:600 .93rem/1.25 "Segoe UI",sans-serif; }
.monthly-group-card p { margin:0; color:#aaa; font:400 .72rem/1.3 "Segoe UI",sans-serif; }
.monthly-group-card > strong { margin-top:auto; color:#cfd8b4; font:600 .9rem/1 "Segoe UI",sans-serif; }
.monthly-group-mini-members { display:flex; justify-content:center; align-items:center; min-height:30px; }
.monthly-avatar { width:34px; height:34px; flex:0 0 auto; display:grid; place-items:center; overflow:hidden; border:1.5px solid #d99400; border-radius:50%; background:#2a2a2a; color:#eee; font:600 .62rem/1 sans-serif; }
.monthly-avatar img { width:100%; height:100%; object-fit:cover; }
.monthly-avatar.is-mini { width:27px; height:27px; margin-left:-7px; }
.monthly-avatar.is-mini:first-child { margin-left:0; }
.monthly-more-members { margin-left:5px; color:#d99c13; font-size:.68rem; }
.monthly-empty { color:#a8a39a; text-align:center; margin-top:70px; }
.monthly-group-modal[hidden] { display:none !important; }
.monthly-group-modal { position:fixed; inset:0; z-index:500; overflow-y:auto; padding:24px 0; }
.monthly-modal-backdrop { position:fixed; inset:0; background:rgba(0,0,0,.82); backdrop-filter:blur(7px); }
.monthly-modal-dialog { position:relative; z-index:1; width:min(760px,calc(100vw - 24px)); margin:16px auto; padding:30px 28px 28px; border:1.5px solid rgba(213,139,0,.9); border-radius:18px; background:linear-gradient(rgba(9,9,9,.96),rgba(9,9,9,.96)),url("texturas do site/textura-couro-preto-tileavel.png") center/420px repeat; color:#eee; }
.monthly-modal-dialog h2 { margin:0 0 22px; text-align:center; color:#f0eee7; font:500 1.55rem/1 Georgia,serif; letter-spacing:.1em; }
.monthly-modal-close { position:absolute; top:8px; right:12px; border:0; background:transparent; color:#e0a116; font-size:2rem; cursor:pointer; }
.monthly-group-form,.monthly-only-fields { display:flex; flex-direction:column; gap:15px; }
.monthly-field { display:flex; flex-direction:column; gap:7px; color:#dca217; font:600 .8rem/1.2 "Segoe UI",sans-serif; }
.monthly-calendar-section { border:1px solid rgba(213,139,0,.54); border-radius:13px; padding:14px; background:rgba(0,0,0,.25); }
.monthly-calendar-header { display:grid; grid-template-columns:38px 1fr 38px; align-items:center; margin-bottom:10px; }
.monthly-calendar-header strong { text-align:center; color:#e5ded0; font:500 1rem/1.1 "Segoe UI",sans-serif; }
.monthly-calendar-header button { width:34px; height:34px; border:1px solid rgba(213,139,0,.55); border-radius:50%; background:#080808; color:#dca217; font-size:1.5rem; cursor:pointer; }
.monthly-weekdays,.monthly-calendar-grid { display:grid; grid-template-columns:repeat(7,1fr); gap:5px; }
.monthly-weekdays { margin-bottom:5px; color:#a4977d; font:600 .6rem/1 "Segoe UI",sans-serif; text-align:center; }
.monthly-calendar-grid > span { min-height:36px; }
.monthly-calendar-day { min-height:36px; border:1px solid rgba(213,139,0,.2); border-radius:7px; background:#111; color:#ddd; cursor:pointer; }
.monthly-calendar-day:hover { border-color:#d99400; }
.monthly-calendar-day.is-selected { background:#d99d14; color:#111; border-color:#f0bf45; font-weight:700; }
.monthly-date-summary { margin-top:12px; padding-top:10px; border-top:1px solid rgba(213,139,0,.3); }
.monthly-date-summary > span { color:#dca217; font:600 .72rem/1 "Segoe UI",sans-serif; }
.monthly-date-summary p { margin:7px 0 0; color:#c7c1b5; font:400 .75rem/1.5 "Segoe UI",sans-serif; }
.monthly-separator { height:1px; margin:3px 0; background:linear-gradient(90deg,transparent,#d99400,transparent); }
.monthly-member-picker { position:relative; display:flex; flex-direction:column; gap:10px; }
.monthly-member-dropdown { position:absolute; z-index:10; top:66px; left:0; right:0; max-height:280px; overflow-y:auto; border:1px solid #d99400; border-radius:10px; background:#0b0b0b; box-shadow:0 12px 30px rgba(0,0,0,.6); }
.monthly-member-option { width:100%; min-height:54px; display:grid; grid-template-columns:38px 1fr 24px; align-items:center; gap:10px; border:0; border-bottom:1px solid rgba(213,139,0,.22); background:transparent; color:#ddd; padding:7px 10px; text-align:left; cursor:pointer; }
.monthly-member-option:hover,.monthly-member-option.is-selected { background:rgba(213,139,0,.12); }
.monthly-member-option:disabled { opacity:.38; cursor:not-allowed; }
.monthly-member-option span:nth-child(2) { display:flex; flex-direction:column; min-width:0; }
.monthly-member-option strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:.8rem; }
.monthly-member-option small { color:#d49a16; font-size:.67rem; }
.monthly-member-option > b { color:#d99b10; text-align:center; }
.monthly-member-no-result { padding:18px; color:#999; text-align:center; font-size:.78rem; }
.monthly-progress-row { display:grid; grid-template-columns:1fr auto; align-items:center; gap:10px; }
.monthly-progress-track { height:10px; overflow:hidden; border:1px solid rgba(213,139,0,.5); border-radius:999px; background:#151515; }
.monthly-progress-track span { display:block; width:0; height:100%; background:#d99d14; transition:width .22s ease; }
.monthly-progress-track span.is-complete { background:#4b9d3c; }
.monthly-progress-row strong { min-width:82px; color:#cfc8bc; font:500 .72rem/1 "Segoe UI",sans-serif; text-align:right; }
.monthly-selected-members { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:7px; }
.monthly-selected-member { min-width:0; min-height:56px; display:grid; grid-template-columns:34px minmax(0,1fr) 12px; align-items:center; gap:7px; border:1px solid rgba(213,139,0,.3); border-radius:8px; background:#101010; color:#ddd; padding:6px; cursor:pointer; }
.monthly-selected-member > span:nth-child(2) { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font:500 .68rem/1.2 "Segoe UI",sans-serif; }
.monthly-selected-member b { color:#b9b9b9; }
.monthly-money-input { display:grid; grid-template-columns:42px 1fr; align-items:center; border:1px solid rgba(213,139,0,.5); border-radius:7px; overflow:hidden; }
.monthly-money-input > span { color:#dca217; text-align:center; }
.monthly-money-input .profile-input { border:0; border-left:1px solid rgba(213,139,0,.35); border-radius:0; }
.monthly-form-feedback { min-height:20px; margin:0; color:#d99c13; text-align:center; font:500 .77rem/1.3 "Segoe UI",sans-serif; }
.monthly-form-feedback.is-error { color:#e03636; }
.monthly-submit-button { min-height:56px; border:1px solid rgba(23,52,17,.85); border-radius:8px; background:linear-gradient(rgba(255,255,255,.02),rgba(0,0,0,.08)),url("texturas do site/textura-base-janelas-couro-verde.png") center/220px repeat,#688d39; color:#071006; font:700 .9rem/1 "Segoe UI",sans-serif; cursor:pointer; }
.common-group-placeholder { padding:26px; border:1px dashed rgba(213,139,0,.42); border-radius:10px; color:#aaa; text-align:center; }
body.monthly-modal-open { overflow:hidden; }
@media (max-width:1000px) { .monthly-groups-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) {
  .monthly-panel { padding:82px 12px 42px; }
  .monthly-branding { top:60px; left:16px; transform:scale(.66); }
  .monthly-logout { top:46px !important; right:7px !important; transform:scale(.75); transform-origin:right top; }
  .monthly-heading-row { grid-template-columns:1fr auto; gap:8px; }
  .monthly-title { justify-content:flex-start; font-size:1.35rem; gap:7px; letter-spacing:.06em; white-space:normal; }
  .monthly-title span { width:22px; }
  .monthly-groups-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .monthly-group-card { min-height:190px; padding:16px 10px; }
  .monthly-group-card-icon { width:70px; height:70px; }
  .monthly-modal-dialog { padding:28px 14px 20px; }
  .monthly-selected-members { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:430px) {
  .monthly-title { font-size:1.03rem; }
  .monthly-groups-grid { grid-template-columns:1fr 1fr; gap:8px; }
  .monthly-group-card { min-height:170px; }
  .monthly-group-card-icon { width:58px; height:58px; }
  .monthly-calendar-section { padding:10px 7px; }
  .monthly-calendar-day,.monthly-calendar-grid > span { min-height:32px; }
}

/* ===== Mensalistas: seletor compacto de ícone e modo comum vazio ===== */
.monthly-icon-name-row {
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:12px;
  align-items:end;
  position:relative;
}
.monthly-icon-picker { position:relative; }
.monthly-icon-preview {
  width:58px;
  height:48px;
  padding:4px;
  display:grid;
  place-items:center;
  border:1px solid rgba(213,139,0,.75);
  border-radius:6px;
  background:rgba(5,5,5,.8);
  cursor:pointer;
  position:relative;
}
.monthly-icon-preview img { width:38px; height:38px; object-fit:contain; }
.monthly-icon-preview > span {
  position:absolute;
  right:2px;
  bottom:0;
  color:#d99b10;
  font-size:.7rem;
}
.monthly-icon-dropdown {
  position:absolute;
  z-index:30;
  top:54px;
  left:0;
  width:196px;
  padding:8px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:6px;
  border:1px solid rgba(213,139,0,.8);
  border-radius:8px;
  background:#0b0b0b;
  box-shadow:0 8px 24px rgba(0,0,0,.55);
}
.monthly-icon-dropdown[hidden] { display:none !important; }
.monthly-icon-option {
  width:54px;
  height:48px;
  border:1px solid rgba(213,139,0,.24);
  border-radius:5px;
  background:#151515;
  cursor:pointer;
}
.monthly-icon-option.is-active { border-color:#d99b10; background:rgba(217,155,16,.12); }
.monthly-icon-option img { width:35px; height:35px; object-fit:contain; }
.common-group-placeholder {
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.group-choice-empty { margin:8px 0; color:#aaa; font-size:.8rem; text-align:center; }
.admin-label-lock { color:#d99b10; font-size:.85rem; vertical-align:middle; }
.is-locked-label-field { opacity:.72; }
.is-locked-label-field input:disabled { cursor:not-allowed; color:#d8d8d8; }

@media (max-width:520px) {
  .monthly-icon-name-row { grid-template-columns:54px minmax(0,1fr); gap:8px; }
  .monthly-icon-preview { width:50px; height:44px; }
  .monthly-icon-preview img { width:33px; height:33px; }
  .monthly-icon-dropdown { width:176px; grid-template-columns:repeat(3,1fr); }
  .monthly-icon-option { width:48px; height:44px; }
}

/* Arquivamento automático e filtro do administrador */
.manage-list-header-tools { display:flex; align-items:center; justify-content:flex-end; gap:14px; }
.manage-archive-eye { min-height:38px; display:inline-flex; align-items:center; gap:7px; border:1px solid rgba(217,153,14,.45); border-radius:7px; background:rgba(0,0,0,.28); color:#777; padding:0 11px; font:500 .68rem/1 "Segoe UI",sans-serif; cursor:pointer; }
.manage-archive-eye .eye-open { font-size:1.15rem; }
.manage-archive-eye.is-active { color:#e0a116; border-color:#d99400; background:rgba(217,153,14,.08); }
.carousel-list-option.is-past-list { opacity:.38; filter:grayscale(.82) saturate(.45); }
.carousel-list-option.is-past-list.is-selected { opacity:.58; }

/* Página inicial de gerenciamento de partidas */
.manage-matches-page { overflow-x:hidden; overflow-y:auto; }
.manage-matches-panel { min-height:calc(100dvh - 72px); padding:clamp(92px,9vh,116px) clamp(28px,4vw,70px) 54px; }
.manage-matches-branding { position:absolute; top:62px; left:58px; transform:scale(.88); transform-origin:left top; }
.manage-matches-logout { top:48px!important; right:28px!important; }
.manage-matches-core { position:relative; z-index:3; width:min(100%,1200px); margin:0 auto; }
.manage-matches-heading-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:22px; align-items:center; }
.manage-create-match-button { min-height:54px; border:1.5px solid #5b3c03; border-radius:8px; padding:0 18px; background:linear-gradient(rgba(216,153,20,.94),rgba(216,153,20,.94)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px repeat; color:#16110a; font:700 .82rem/1 "Arial Narrow","Segoe UI",sans-serif; cursor:pointer; }
.manage-matches-placeholder { margin:80px auto 0; text-align:center; color:#a9a49a; font:400 .9rem/1.4 "Segoe UI",sans-serif; }
.action-manage-matches[hidden] { display:none!important; }
@media(max-width:700px){.manage-list-header-tools{gap:8px}.manage-archive-eye{padding:0 8px}.manage-archive-eye .eye-label{display:none}.manage-matches-heading-row{grid-template-columns:1fr}.manage-create-match-button{justify-self:center}.manage-matches-branding{left:16px;transform:scale(.66)}.manage-matches-logout{right:7px!important;transform:scale(.75);transform-origin:right top}}

/* ===== Ajuste de navegação e ações administrativas ===== */
.subpage-body .logout-button svg,
.subpage-back-button svg { transform:none !important; }
.subpage-body .logout-button span { letter-spacing:.06em; }

.admin-edit-grid {
  align-items:start !important;
}
.admin-edit-actions {
  padding:0 !important;
  margin:0 !important;
  gap:14px !important;
  align-self:start;
}
.admin-edit-action {
  position:relative;
  min-height:54px !important;
  grid-template-columns:38px 1fr !important;
  gap:9px !important;
  padding:8px 14px !important;
  border:0 !important;
  border-radius:9px !important;
  background:
    linear-gradient(rgba(216,153,20,.94),rgba(216,153,20,.94)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px repeat !important;
  box-shadow:inset 0 0 0 1px rgba(55,32,1,.45),0 2px 5px rgba(0,0,0,.2) !important;
  font:600 .78rem/1.15 "Arial Narrow","Segoe UI",sans-serif !important;
  text-align:left;
}
.admin-edit-action::after {
  content:"";
  position:absolute;
  inset:4px;
  border:1px dashed rgba(22,17,10,.88);
  border-radius:6px;
  pointer-events:none;
}
.admin-action-icon {
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  color:#15110b;
}
.admin-action-icon svg { width:23px; height:23px; fill:currentColor; }
.admin-realtime-header {
  grid-template-columns:12px minmax(180px,1fr) auto auto !important;
}
.admin-header-mark { width:5px; height:18px; border-left:2px solid rgba(20,15,8,.65); }
.admin-waiting-header strong { padding-left:4px; }

/* Sair existe apenas no painel inicial. Nas subpáginas, o controle é Voltar. */
.athlete-page:not(.edit-profile-page) .logout-button { white-space:nowrap; }
.edit-profile-back { position:absolute !important; top:48px !important; right:28px !important; z-index:8; }

/* Botão sair do painel principal no extremo superior direito, junto às runas */
body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) #logout-button {
  top:22px !important;
  right:24px !important;
  z-index:20;
}

@media (max-width:900px) {
  .admin-edit-actions {
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:8px !important;
  }
  .admin-edit-action {
    min-height:50px !important;
    grid-template-columns:28px 1fr !important;
    padding:7px 9px !important;
    font-size:.66rem !important;
  }
  .admin-action-icon { width:23px; height:23px; }
  .admin-action-icon svg { width:19px; height:19px; }
}
@media (max-width:650px) {
  .admin-edit-actions { grid-template-columns:1fr !important; gap:7px !important; }
  .edit-profile-back { top:44px !important; right:7px !important; transform:scale(.75); transform-origin:right top; }
  body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) #logout-button {
    top:12px !important;
    right:8px !important;
  }
}

/* ===== Painel inicial: botões uniformes, compactos e sem quebra ===== */
body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .action-grid {
  width:min(100%,560px) !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:9px 12px !important;
  align-items:stretch !important;
  justify-items:stretch !important;
}

body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action {
  width:100% !important;
  min-width:0 !important;
  min-height:50px !important;
  height:50px !important;
  padding:6px 13px !important;
  grid-template-columns:24px minmax(0,1fr) !important;
  grid-template-rows:1fr !important;
  align-items:center !important;
  justify-items:start !important;
  column-gap:10px !important;
  overflow:hidden !important;
  white-space:nowrap !important;
}

body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action .action-icon-img,
body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action .action-icon {
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  object-fit:contain !important;
  align-self:center !important;
  justify-self:center !important;
}

body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action > span:last-child {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  text-overflow:clip !important;
  white-space:nowrap !important;
  color:#15110b !important;
  font-family:Arial,"Segoe UI",sans-serif !important;
  font-size:.78rem !important;
  font-weight:400 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  text-align:left !important;
}

/* O maior nome define a largura das duas colunas; os demais acompanham exatamente. */
body.role-admin .action-grid {
  width:min(100%,560px) !important;
}

/* Sair somente no painel inicial e realmente encostado no canto superior direito. */
body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) #logout-button {
  position:fixed !important;
  top:5px !important;
  right:6px !important;
  margin:0 !important;
  z-index:1000 !important;
  transform:none !important;
  transform-origin:right top !important;
}

@media (max-width:640px) {
  body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .action-grid {
    width:min(100%,320px) !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
  body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action {
    height:46px !important;
    min-height:46px !important;
    padding:5px 12px !important;
    grid-template-columns:21px minmax(0,1fr) !important;
    column-gap:9px !important;
  }
  body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action .action-icon-img,
  body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action .action-icon {
    width:19px !important;
    height:19px !important;
    min-width:19px !important;
    max-width:19px !important;
  }
  body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) .athlete-action > span:last-child {
    font-size:.72rem !important;
  }
  body.athlete-page:not(.admin-edit-list-page):not(.manage-lists-page):not(.member-lists-page):not(.manage-users-page):not(.monthly-page):not(.manage-matches-page):not(.edit-profile-page) #logout-button {
    top:3px !important;
    right:4px !important;
  }
}


/* Correção final: rolagem vertical do Gerenciador de Usuários em desktop */
html:has(body.manage-users-page),
body.manage-users-page {
  min-height: 100% !important;
  height: auto !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
}
body.manage-users-page .manage-users-shell,
body.manage-users-page .manage-users-panel {
  height: auto !important;
  min-height: 100dvh !important;
  overflow: visible !important;
}
body.manage-users-page .manage-users-core,
body.manage-users-page .manage-users-fit-frame,
body.manage-users-page .manage-users-table-shell,
body.manage-users-page .manage-users-rows {
  height: auto !important;
  max-height: none !important;
}

/* ===== Gerador de Times ===== */
.team-generator-page{overflow-x:hidden;overflow-y:auto;background:#080808}.team-generator-panel{max-width:1580px;min-height:calc(100dvh - 72px);padding:clamp(94px,9vh,118px) clamp(30px,4vw,68px) 58px}.team-generator-panel .athlete-card-frame{inset:48px 18px 30px}.team-generator-branding{position:absolute;top:62px;left:58px;transform:scale(.84);transform-origin:left top}.team-generator-back{top:48px!important;right:28px!important}.team-generator-core{position:relative;z-index:3;width:min(100%,1390px);margin:auto}.team-generator-title{margin:0 0 22px;display:flex;align-items:center;justify-content:center;gap:16px;color:#d89a17;font:500 clamp(2rem,4vw,4.2rem)/1 Georgia,serif;letter-spacing:.08em}.team-generator-title span{width:clamp(46px,7vw,110px);height:3px;background:#d99400}.team-generator-controls{display:grid;grid-template-columns:repeat(3,minmax(190px,280px));justify-content:center;gap:clamp(18px,4vw,64px);margin-bottom:28px}.team-generator-main-button{min-height:62px;display:flex;align-items:center;justify-content:center;gap:16px;border:1.5px solid #171006;border-radius:7px;background:linear-gradient(rgba(216,153,20,.94),rgba(216,153,20,.94)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px repeat;box-shadow:inset 0 0 0 2px rgba(48,28,2,.38);color:#151009;font:500 1rem/1 Arial,sans-serif;letter-spacing:.04em;cursor:pointer}.button-chevron{margin-left:auto}.shuffle-symbol{font-size:1.55rem}.team-columns{display:grid;grid-template-columns:repeat(var(--team-count,3),minmax(270px,1fr));gap:22px;align-items:stretch}.team-card{min-width:0;border:2px solid #b97908;border-radius:12px;overflow:hidden;background:#050505;box-shadow:0 7px 18px rgba(0,0,0,.25)}.team-roster{position:relative;padding:8px 14px 12px;background:linear-gradient(rgba(205,139,17,.94),rgba(205,139,17,.94)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/240px repeat}.team-roster:after,.team-radar:after{content:"";position:absolute;inset:6px;border:1px dashed currentColor;pointer-events:none}.team-roster:after{color:#171008;border-bottom:0}.team-roster h2{position:relative;z-index:1;margin:0 0 5px;padding:4px 0 9px;border-bottom:1px solid rgba(30,19,5,.55);text-align:center;font:500 1.35rem/1 Arial,sans-serif;letter-spacing:.08em}.team-player-row{position:relative;z-index:1;min-height:44px;display:grid;grid-template-columns:82px 32px minmax(0,1fr) 36px;align-items:center;gap:8px;border-bottom:1px solid rgba(36,22,5,.35)}.position-select{width:100%;height:30px;border:1px solid #171006;border-radius:5px;background:#090909;color:#e0a115;font:500 .72rem Arial;cursor:pointer}.team-player-avatar{width:30px;height:30px;display:grid;place-items:center;border:1.5px solid #171006;border-radius:50%;overflow:hidden;background:#151515;color:#ddd}.team-player-avatar img{width:100%;height:100%;object-fit:cover}.team-player-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 .82rem Arial;color:#181008}.team-player-score{text-align:right;font:600 .82rem Arial;color:#181008}.team-radar{position:relative;min-height:315px;padding:12px 8px 8px;background:linear-gradient(rgba(4,4,4,.94),rgba(4,4,4,.94)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat;color:#d6950d}.team-radar:before{content:"";position:absolute;left:0;right:0;top:-18px;height:20px;background:#050505;clip-path:polygon(0 100%,7% 0,93% 0,100% 100%)}.team-radar:after{border-top:0}.team-radar h3{position:relative;z-index:1;margin:0;text-align:center;font:500 .86rem Arial;letter-spacing:.08em}.team-radar canvas{position:relative;z-index:1;width:100%;height:270px;display:block}.team-generator-feedback{min-height:22px;text-align:center;color:#d99b12;font:.82rem Arial}.team-origin-modal[hidden]{display:none!important}.team-origin-modal{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:18px;overflow:auto}.team-origin-backdrop{position:fixed;inset:0;border:0;background:rgba(0,0,0,.78);backdrop-filter:blur(3px)}.team-origin-dialog{position:relative;z-index:1;width:min(720px,calc(100vw - 24px));max-height:calc(100dvh - 28px);overflow:auto;padding:24px;border:1.5px solid #c1810b;border-radius:12px;background:linear-gradient(rgba(6,6,6,.96),rgba(6,6,6,.96)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat;color:#d99b12;box-shadow:0 12px 45px #000}.team-origin-dialog:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(211,139,0,.72);pointer-events:none}.team-origin-close{position:absolute;z-index:3;right:12px;top:8px;border:0;background:transparent;color:#d99b12;font-size:2rem;cursor:pointer}.team-origin-dialog h2{position:relative;z-index:2;margin:0 0 18px;text-align:center;font:500 1.35rem Georgia,serif;letter-spacing:.08em}.team-origin-select-wrap{position:relative;z-index:5;width:min(100%,390px);margin:0 auto 16px}.team-origin-select-button{width:100%;min-height:44px;display:flex;justify-content:space-between;align-items:center;padding:0 16px;border:1px solid #1d1203;border-radius:5px;background:linear-gradient(rgba(209,143,18,.95),rgba(209,143,18,.95)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/220px repeat;color:#151009;font:500 .92rem Arial;cursor:pointer}.team-origin-options{position:absolute;left:0;right:0;top:46px;border:1px solid #c1810b;background:#060606;z-index:9}.team-origin-option{width:100%;min-height:38px;display:flex;justify-content:space-between;align-items:center;padding:0 14px;border:0;border-bottom:1px solid rgba(193,129,11,.3);background:#070707;color:#d99b12;text-align:left;cursor:pointer}.team-origin-option.is-selected{background:rgba(213,143,15,.12)}.team-origin-tools{position:relative;z-index:2;display:grid;grid-template-columns:44px repeat(3,1fr);gap:8px;margin-bottom:12px}.team-origin-tool{min-height:40px;border:1px solid #b97908;border-radius:5px;background:#080808;color:#d99b12;font:500 .72rem Arial;cursor:pointer}.team-origin-tool.is-active{background:#9a6710;color:#090603}.team-origin-tool-plus{font-size:1.4rem}.origin-player-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;max-height:290px;overflow:auto;padding:3px}.origin-player-card{min-height:58px;display:flex;align-items:center;gap:6px;padding:5px;border:1px solid rgba(193,129,11,.55);border-radius:5px;background:#080808;color:#d99b12;font:500 .66rem Arial;text-align:left;cursor:pointer}.origin-player-card:not(.is-selected){opacity:.38}.origin-player-card.is-reserve{box-shadow:inset 0 0 0 2px #6d962f}.origin-player-photo{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border:1px solid #d99b12;border-radius:50%;overflow:hidden}.origin-player-photo img{width:100%;height:100%;object-fit:cover}.team-origin-counts{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0 12px}.team-origin-counts label{display:flex;align-items:center;justify-content:center;gap:10px;font:600 .72rem Arial}.team-origin-counts input{width:58px;height:34px;border:1px solid #b97908;background:#090909;color:#d99b12;text-align:center}.distribution-summary{position:relative;z-index:2;min-height:34px;text-align:center;font:600 .76rem/1.4 Arial}.confirm-origin-button{position:relative;z-index:2;width:min(100%,390px);min-height:58px;display:block;margin:12px auto 0;border:1.5px solid #1b210d;border-radius:6px;background:linear-gradient(rgba(102,139,54,.9),rgba(102,139,54,.9)),url("texturas do site/textura-base-janelas-couro-verde.png") center/220px repeat;color:#f2e7c6;font:500 1rem Arial;letter-spacing:.08em;cursor:pointer}body.team-origin-open{overflow:hidden}
@media(max-width:1050px){.team-columns{grid-template-columns:1fr}.team-card{display:grid;grid-template-columns:1fr 1fr}.team-radar:before{left:-18px;top:0;bottom:0;width:20px;height:auto;clip-path:polygon(100% 0,100% 100%,0 93%,0 7%)}.team-roster:after{border-bottom:1px dashed currentColor;border-right:0}.team-radar:after{border-top:1px dashed currentColor;border-left:0}}
@media(max-width:650px){.team-generator-panel{padding:82px 9px 42px}.team-generator-branding{top:60px;left:14px;transform:scale(.63)}.team-generator-back{top:45px!important;right:5px!important;transform:scale(.72);transform-origin:right top}.team-generator-title{font-size:1.65rem;gap:8px}.team-generator-title span{width:25px}.team-generator-controls{grid-template-columns:1fr;gap:8px;margin-inline:auto;width:min(100%,360px)}.team-generator-main-button{min-height:48px}.team-card{display:block}.team-radar:before{left:0;right:0;top:-18px;width:auto;height:20px;clip-path:polygon(0 100%,7% 0,93% 0,100% 100%)}.team-roster:after{border-right:1px dashed currentColor;border-bottom:0}.team-radar:after{border-left:1px dashed currentColor;border-top:0}.team-origin-dialog{padding:20px 12px}.team-origin-tools{grid-template-columns:40px 1fr 1fr;}.team-origin-tool:last-child{grid-column:2/4}.origin-player-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:330px}.team-origin-counts{grid-template-columns:1fr;gap:10px}.team-player-row{grid-template-columns:75px 30px minmax(0,1fr) 34px}.team-radar canvas{height:250px}}

/* =========================================================
   GERADOR DE TIMES — CORREÇÕES DE SCROLL E RESPONSIVIDADE
   ========================================================= */
html { overflow-y: auto; }
body.subpage-body.team-generator-page {
  overflow-x: hidden;
  overflow-y: auto;
  min-height: 100dvh;
}
.team-generator-shell {
  min-height: 100dvh;
  height: auto;
  overflow: visible;
}
.team-generator-panel {
  min-height: auto;
  padding: clamp(80px, 8vh, 104px) clamp(14px, 2.2vw, 28px) 32px;
}
.team-generator-panel .athlete-card-frame { inset: 46px 8px 18px; }
.team-generator-branding { top: 54px; left: 26px; transform: scale(.74); }
.team-generator-back { top: 34px !important; right: 12px !important; }
.team-generator-core { width: min(100%, 1320px); }
.team-generator-title {
  margin: 0 0 14px;
  font-size: clamp(2rem, 3.6vw, 4rem);
}
.team-generator-controls {
  grid-template-columns: repeat(3, minmax(180px, 250px));
  gap: clamp(12px, 2vw, 28px);
  margin-bottom: 18px;
}
.team-generator-main-button {
  min-height: 54px;
  padding: 0 14px;
  background:
    linear-gradient(rgba(216,153,20,.78), rgba(216,153,20,.78)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/180px repeat;
  box-shadow: inset 0 0 0 2px rgba(48,28,2,.42);
}
.team-columns {
  grid-template-columns: repeat(var(--team-count, 3), minmax(0, 1fr));
  gap: 14px;
}
.team-card { border-radius: 10px; }
.team-roster {
  padding: 6px 10px 8px;
  background:
    linear-gradient(rgba(205,139,17,.78), rgba(205,139,17,.78)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/180px repeat;
}
.team-roster:after,
.team-radar:after { inset: 5px; }
.team-roster h2 {
  margin: 0 0 4px;
  padding: 3px 0 7px;
  font: 500 clamp(1.1rem, 1.5vw, 1.55rem)/1 Arial, sans-serif;
}
.team-player-row {
  min-height: 36px;
  grid-template-columns: 74px 28px minmax(0, 1fr) 34px;
  gap: 6px;
}
.position-select { height: 28px; font: 500 .65rem Arial; }
.team-player-avatar { width: 26px; height: 26px; }
.team-player-name,
.team-player-score { font-size: .76rem; }
.team-radar {
  min-height: 228px;
  padding: 8px 6px 4px;
  background:
    linear-gradient(rgba(4,4,4,.95), rgba(4,4,4,.95)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/360px repeat;
}
.team-radar h3 { font-size: .78rem; }
.team-radar canvas { height: 190px; }

@media (max-width: 1050px) {
  .team-generator-panel {
    padding: 82px 10px 24px;
  }
  .team-generator-core {
    width: min(100%, 720px);
  }
  .team-columns {
    grid-template-columns: 1fr;
    gap: 18px;
  }
  .team-card {
    display: grid;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 650px) {
  .team-generator-panel {
    padding: 74px 8px 22px;
  }
  .team-generator-branding {
    top: 54px;
    left: 10px;
    transform: scale(.58);
  }
  .team-generator-back {
    top: 38px !important;
    right: 2px !important;
    transform: scale(.68);
    transform-origin: right top;
  }
  .team-generator-title {
    margin-bottom: 12px;
    font-size: 1.45rem;
    gap: 7px;
  }
  .team-generator-title span { width: 23px; }
  .team-generator-controls {
    width: min(100%, 330px);
    grid-template-columns: 1fr;
    gap: 7px;
    margin-bottom: 12px;
  }
  .team-generator-main-button {
    min-height: 44px;
    font-size: .9rem;
  }
  .team-columns { gap: 14px; }
  .team-card { display: block; }
  .team-roster {
    padding: 6px 8px 8px;
  }
  .team-roster h2 { font-size: 1.05rem; }
  .team-player-row {
    min-height: 32px;
    grid-template-columns: 68px 26px minmax(0, 1fr) 32px;
  }
  .position-select { height: 24px; font-size: .60rem; }
  .team-player-avatar { width: 24px; height: 24px; }
  .team-player-name,
  .team-player-score { font-size: .73rem; }
  .team-radar {
    min-height: 210px;
  }
  .team-radar canvas { height: 175px; }
}

/* =========================================================
   GERADOR DE TIMES — IDENTIDADE VISUAL E EQUILÍBRIO FINAL
   ========================================================= */
.team-generator-main-button,
.team-origin-select-button,
.team-origin-tool,
.confirm-origin-button {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(24,16,5,.95) !important;
  border-radius: 7px;
  font-family: Arial, "Segoe UI", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: .035em;
}
.team-generator-main-button,
.team-origin-select-button {
  background:
    linear-gradient(rgba(213,148,20,.18),rgba(213,148,20,.18)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/210px repeat !important;
  color:#161008 !important;
}
.team-generator-main-button::after,
.team-origin-select-button::after,
.team-origin-tool::after,
.confirm-origin-button::after {
  content:"";
  position:absolute;
  inset:5px;
  border:1px dashed currentColor;
  border-radius:4px;
  opacity:.72;
  pointer-events:none;
}
.team-generator-main-button > *,
.team-origin-select-button > *,
.team-origin-tool > *,
.confirm-origin-button > * { position:relative; z-index:1; }
.team-origin-tool {
  background:
    linear-gradient(rgba(8,8,8,.18),rgba(8,8,8,.18)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/320px repeat !important;
  color:#d99b12 !important;
}
.confirm-origin-button {
  background:
    linear-gradient(rgba(74,111,42,.14),rgba(74,111,42,.14)),
    url("texturas do site/textura-base-janelas-couro-verde.png") center/210px repeat !important;
}
.team-card {
  background: transparent;
  box-shadow:none;
}
.team-roster {
  background:
    linear-gradient(rgba(213,148,20,.08),rgba(213,148,20,.08)),
    url("texturas do site/textura-base-janelas-couro-amarelo.png") center/210px repeat !important;
  padding-bottom:12px;
}
.team-roster h2,
.team-player-name,
.team-player-score { font-weight:400 !important; }
.team-radar {
  min-height:190px !important;
  padding:10px 6px 3px !important;
  background:
    linear-gradient(rgba(0,0,0,.28),rgba(0,0,0,.28)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/360px repeat !important;
}
.team-radar:before { top:-12px; height:14px; }
.team-radar canvas { height:155px !important; }
.team-radar h3 { margin-bottom:-2px; font-size:.75rem !important; font-weight:400 !important; }
.team-player-row:last-child { border-bottom:0; }
.team-generator-feedback { margin:10px 0 18px; }
.position-select {
  font-weight:400;
  background:
    linear-gradient(rgba(0,0,0,.12),rgba(0,0,0,.12)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/220px repeat;
}
@media(max-width:1050px){
  .team-radar { min-height:180px !important; }
  .team-radar canvas { height:145px !important; }
}
@media(max-width:650px){
  .team-radar { min-height:175px !important; }
  .team-radar canvas { height:140px !important; }
  .team-generator-main-button::after,
  .team-origin-select-button::after,
  .team-origin-tool::after,
  .confirm-origin-button::after { inset:4px; }
}

/* =========================================================
   GERADOR DE TIMES — DIMENSÕES, TÍTULO E ESTADO INICIAL
   ========================================================= */
.team-generator-core {
  width: min(100%, 1240px) !important;
}
.team-generator-title {
  margin-bottom: 12px !important;
}
.team-generator-controls {
  margin-bottom: 14px !important;
}
.team-columns {
  grid-template-columns: repeat(var(--team-count, 3), minmax(240px, 292px)) !important;
  justify-content: space-between !important;
  align-items: start !important;
  gap: clamp(22px, 4vw, 58px) !important;
  width: 100%;
}
.team-card {
  width: 100%;
  max-width: 292px;
  min-width: 0;
  align-self: start;
}
.team-roster {
  padding: 5px 8px 7px !important;
}
.team-roster h2 {
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  color: #171008 !important;
  font-size: clamp(.92rem, 1.15vw, 1.12rem) !important;
  letter-spacing: .055em !important;
}
.team-title-score {
  color: #171008;
  font-size: .86em;
  font-weight: 400;
  letter-spacing: .02em;
}
.team-player-row {
  min-height: 29px !important;
  grid-template-columns: 64px 23px minmax(0, 1fr) 29px !important;
  gap: 5px !important;
}
.position-select {
  height: 23px !important;
  font-size: .56rem !important;
  padding-inline: 3px !important;
}
.team-player-avatar {
  width: 22px !important;
  height: 22px !important;
}
.team-player-name,
.team-player-score {
  font-size: .66rem !important;
}
.team-radar {
  min-height: 148px !important;
  padding: 7px 4px 2px !important;
}
.team-radar:before {
  top: -9px !important;
  height: 11px !important;
}
.team-radar h3 {
  font-size: .64rem !important;
}
.team-radar canvas {
  height: 120px !important;
}
.team-generator-feedback {
  margin: 7px 0 10px !important;
}
.origin-empty-message {
  grid-column: 1 / -1;
  margin: 18px 0;
  color: rgba(217,155,18,.72);
  text-align: center;
  font: 400 .76rem/1.4 Arial, sans-serif;
}

@media (max-width: 980px) and (min-width: 721px) {
  .team-generator-core { width: min(100%, 920px) !important; }
  .team-columns {
    grid-template-columns: repeat(3, minmax(210px, 260px)) !important;
    gap: clamp(14px, 2.2vw, 28px) !important;
  }
  .team-card { max-width: 260px; }
  .team-player-row {
    grid-template-columns: 59px 21px minmax(0, 1fr) 27px !important;
  }
  .team-player-name,
  .team-player-score { font-size: .61rem !important; }
  .team-radar canvas { height: 112px !important; }
}

@media (max-width: 720px) {
  .team-generator-core { width: min(100%, 390px) !important; }
  .team-columns {
    grid-template-columns: minmax(0, 1fr) !important;
    justify-items: center !important;
    gap: 17px !important;
  }
  .team-card {
    width: min(100%, 330px);
    max-width: 330px;
  }
  .team-roster h2 { font-size: 1rem !important; }
  .team-player-row {
    min-height: 31px !important;
    grid-template-columns: 66px 24px minmax(0, 1fr) 31px !important;
  }
  .team-player-name,
  .team-player-score { font-size: .68rem !important; }
  .team-radar {
    min-height: 154px !important;
  }
  .team-radar canvas { height: 124px !important; }
}

/* Estado vazio da edição de listas */
.admin-top-tool svg { width: 27px; height: 27px; fill: currentColor; display:block; margin:auto; }
.admin-top-tool-archive { display:grid; place-items:center; }
.admin-top-tool-archive.is-empty-state { transform: translateX(-10px); }
.admin-edit-actions[hidden], .admin-delete-list-button[hidden] { display:none !important; }
.admin-edit-no-list .admin-edit-grid { grid-template-columns: 1fr; }
.admin-edit-no-list .admin-edit-roster-area { width:min(100%, 850px); margin:0 auto; }
.admin-edit-no-list .admin-list-top-tools { gap:10px; }
.admin-edit-no-list #archive-list-button { order:1; }
.admin-edit-no-list #create-list-shortcut { order:2; }
.admin-edit-no-list #delete-list-button { display:none !important; }
@media (max-width:650px){
  .admin-top-tool-archive.is-empty-state { transform: translateX(-6px); }
}

/* ===== Presença e substituição no Gerador de Times ===== */
.origin-player-card { position: relative; }
.origin-presence-check {
  position: absolute;
  right: 5px;
  bottom: 5px;
  width: 16px;
  height: 16px;
}
.origin-player-card.has-substitution {
  min-height: 92px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
  align-content: center;
}
.substitution-old,
.substitution-new {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
}
.substitution-old {
  color: #e43b3b;
  font-size: .58rem;
}
.substitution-old > img {
  width: 15px;
  height: 15px;
  margin-left: auto;
}
.origin-player-photo.is-small {
  width: 18px;
  height: 18px;
  flex-basis: 18px;
  opacity: .8;
}
.substitution-new { font-size: .68rem; }
.substitution-arrow { color: #d99b12; line-height: 1; text-align: center; }

.absence-modal[hidden] { display: none !important; }
.absence-modal {
  position: fixed;
  inset: 0;
  z-index: 900;
  display: grid;
  place-items: center;
  padding: 18px;
  overflow-y: auto;
}
.absence-backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  background: rgba(0,0,0,.84);
  backdrop-filter: blur(4px);
}
.absence-dialog {
  position: relative;
  z-index: 1;
  width: min(560px, calc(100vw - 22px));
  max-height: calc(100dvh - 28px);
  overflow-y: auto;
  padding: 26px 24px 22px;
  border: 1.5px solid #c1810b;
  border-radius: 12px;
  background:
    linear-gradient(rgba(6,6,6,.96),rgba(6,6,6,.96)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat;
  color: #d99b12;
}
.absence-dialog::after {
  content: "";
  position: absolute;
  inset: 7px;
  border: 1px dashed rgba(211,139,0,.72);
  pointer-events: none;
}
.absence-close {
  position: absolute;
  z-index: 4;
  top: 8px;
  right: 12px;
  border: 0;
  background: transparent;
  color: #d99b12;
  font-size: 2rem;
  cursor: pointer;
}
.absence-dialog h2 {
  position: relative;
  z-index: 2;
  margin: 0 0 18px;
  text-align: center;
  font: 500 1.25rem/1.2 Georgia, serif;
  letter-spacing: .08em;
}
.absence-field {
  position: relative;
  z-index: 3;
  display: block;
  margin-bottom: 12px;
  color: #d99b12;
  font: 600 .75rem/1.2 Arial, sans-serif;
}
.absence-field > span { display: block; margin-bottom: 6px; }
.absence-field input {
  width: 100%;
  height: 42px;
  border: 1px solid #b97908;
  border-radius: 5px;
  background: #080808;
  color: #eee;
  padding: 0 12px;
  outline: none;
}
.absence-results {
  position: relative;
  max-height: 190px;
  overflow-y: auto;
  border: 1px solid rgba(193,129,11,.45);
  border-top: 0;
  background: #070707;
}
.absence-results:empty { display: none; }
.absence-results button {
  width: 100%;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 5px 9px;
  border: 0;
  border-bottom: 1px solid rgba(193,129,11,.25);
  background: #080808;
  color: #d99b12;
  text-align: left;
  cursor: pointer;
}
.absence-results button.is-disabled,
.absence-results button:disabled {
  color: #777;
  opacity: .55;
  cursor: not-allowed;
}
.absence-results small { margin-left: auto; font-size: .62rem; }
.absence-selected {
  position: relative;
  z-index: 2;
  min-height: 0;
  display: flex;
  align-items: center;
  gap: 9px;
  margin: -4px 0 14px;
  padding: 0 8px;
  color: #eee;
  font: 500 .78rem Arial, sans-serif;
}
.absence-selected:empty { display: none; }
.absence-selected small { margin-left: auto; color: #d99b12; }
.absence-feedback {
  position: relative;
  z-index: 2;
  min-height: 20px;
  margin: 8px 0;
  color: #e53b3b;
  text-align: center;
  font: .75rem Arial, sans-serif;
}
.confirm-substitution-button {
  position: relative;
  z-index: 2;
  width: min(100%, 360px);
  min-height: 52px;
  display: block;
  margin: 8px auto 0;
  border: 1.5px solid #17200c;
  border-radius: 6px;
  background:
    linear-gradient(rgba(102,139,54,.86),rgba(102,139,54,.86)),
    url("texturas do site/textura-base-janelas-couro-verde.png") center/220px repeat;
  color: #f2e7c6;
  font: 500 .92rem Arial, sans-serif;
  letter-spacing: .06em;
  cursor: pointer;
}
.confirm-substitution-button::after {
  content: "";
  position: absolute;
  inset: 5px;
  border: 1px dashed #263715;
  pointer-events: none;
}
body.absence-modal-open { overflow: hidden; }
@media (max-width: 650px) {
  .absence-dialog { padding: 24px 14px 18px; }
  .origin-player-card.has-substitution { min-height: 84px; }
}

/* Revezadores no gerador de times */
.has-reserve-pair {
  display:grid !important;
  grid-template-columns:1fr 1fr;
  gap:5px;
  padding:5px !important;
}
.reserve-half {
  min-width:0;
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 15px;
  align-items:center;
  gap:4px;
  color:#e58b19;
  font-size:.62rem;
  line-height:1.05;
}
.reserve-half + .reserve-half {
  border-left:1px solid rgba(218,151,20,.45);
  padding-left:5px;
}
.reserve-half .origin-player-photo {
  width:22px;
  height:22px;
  flex-basis:22px;
}
.reserve-half > span:not(.origin-player-photo) {
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.reserve-half .origin-presence-check {
  position:static;
  width:14px;
  height:14px;
}
.reserve-modal .absence-selected {
  color:#e58b19;
}
@media (max-width:650px){
  .reserve-half { font-size:.56rem; grid-template-columns:19px minmax(0,1fr) 13px; }
  .reserve-half .origin-player-photo { width:19px; height:19px; flex-basis:19px; }
}

/* =========================================================
   CONFIRMAÇÃO E PÁGINA DA PARTIDA
   ========================================================= */
.match-confirm-modal[hidden],.live-match-modal[hidden]{display:none!important}
.match-confirm-modal,.live-match-modal{position:fixed;inset:0;z-index:900;display:grid;place-items:center;padding:18px;overflow:auto}
.match-confirm-backdrop,.live-match-backdrop{position:fixed;inset:0;border:0;background:rgba(0,0,0,.8);backdrop-filter:blur(4px)}
.match-confirm-dialog,.live-match-dialog{position:relative;z-index:1;width:min(520px,calc(100vw - 24px));padding:30px 26px 24px;border:1.5px solid #ca870a;border-radius:14px;background:linear-gradient(rgba(7,7,7,.96),rgba(7,7,7,.96)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat;color:#eee;text-align:center}
.match-confirm-dialog:after,.live-match-dialog:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(214,146,13,.8);border-radius:9px;pointer-events:none}
.match-confirm-close,.live-match-close{position:absolute;z-index:3;top:8px;right:12px;border:0;background:transparent;color:#d99b12;font-size:2rem;cursor:pointer}
.match-confirm-dialog h2,.live-match-dialog h2{position:relative;z-index:2;margin:0 0 16px;color:#d99b12;font:500 1.45rem/1 Georgia,serif;letter-spacing:.08em}
.match-confirm-dialog p,.live-match-dialog p{position:relative;z-index:2;font:400 .88rem/1.5 Arial,sans-serif}
.match-confirm-actions{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.3fr;gap:10px;margin-top:22px}
.match-confirm-cancel,.match-confirm-ok,.live-match-primary-button,.live-match-green-button{min-height:48px;border:1.5px solid #151006;border-radius:7px;font:500 .88rem/1 Arial,sans-serif;letter-spacing:.05em;cursor:pointer}
.match-confirm-cancel{background:#080808;color:#d99b12;border-color:#b97908}
.match-confirm-ok{background:linear-gradient(rgba(215,151,18,.78),rgba(215,151,18,.78)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/200px repeat;color:#141009}
body.match-confirm-open{overflow:hidden}

body.live-match-page{overflow-x:hidden;overflow-y:auto;min-height:100dvh;background:#050505}
.live-match-shell{min-height:100dvh;height:auto;overflow:visible}
.live-match-panel{max-width:1500px;min-height:auto;padding:94px clamp(16px,3vw,42px) 50px}
.live-match-branding{position:absolute;top:60px;left:44px;transform:scale(.78);transform-origin:left top}
.live-match-back{top:44px!important;right:18px!important}
.live-match-core{position:relative;z-index:3;width:min(100%,1240px);margin:auto}
.live-match-title{margin:0 0 20px;display:flex;align-items:center;justify-content:center;gap:15px;color:#e5a11a;font:500 clamp(1.8rem,3.8vw,3.5rem)/1 Georgia,serif;letter-spacing:.08em}
.live-match-title span{width:clamp(34px,6vw,82px);height:3px;background:#d99400}
.live-match-teams{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:0 auto 24px}
.live-team-summary{text-align:center}
.live-team-summary h2{margin:0 0 12px;color:#d99b12;font:500 1.35rem/1 Arial,sans-serif;letter-spacing:.08em}
.live-team-photos{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.live-player-avatar{width:54px;height:54px;display:grid;place-items:center;border:4px solid #090909;outline:1px solid #d99b12;border-radius:50%;overflow:hidden;background:#171717;color:#ddd;flex:0 0 auto}
.live-player-avatar img{width:100%;height:100%;object-fit:cover}
.live-match-primary-button{display:block;width:min(100%,230px);margin:12px 0 22px;background:linear-gradient(rgba(215,151,18,.8),rgba(215,151,18,.8)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/200px repeat;color:#131008;box-shadow:inset 0 0 0 2px rgba(40,24,2,.38)}
.active-set{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:24px;border:1.5px solid #c1810b;border-radius:12px;background:linear-gradient(rgba(5,5,5,.95),rgba(5,5,5,.95)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat}
.active-set:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(214,146,13,.75);border-radius:8px;pointer-events:none}
.score-team{position:relative;z-index:2;text-align:center;color:#d99b12}.score-team h2{margin:0 0 12px;font:500 1.3rem Arial}.score-team>div{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.score-team .live-player-avatar{width:42px;height:42px}
.scoreboard-center{position:relative;z-index:2;display:flex;align-items:center;gap:16px;color:#d99b12}.scoreboard-center strong{font:500 clamp(2.8rem,6vw,5rem)/1 Arial}.scoreboard-center span{font-size:2rem}
.score-plus{position:absolute;z-index:3;bottom:12px;width:44px;height:44px;border:1px solid #171006;border-radius:7px;background:linear-gradient(rgba(215,151,18,.82),rgba(215,151,18,.82)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/150px repeat;color:#111;font-size:1.7rem;cursor:pointer}.score-plus-left{left:12px}.score-plus-right{right:12px}
.match-events-panel{margin-top:20px;padding:18px;border-top:1px solid rgba(213,139,0,.5)}.match-events-panel h2{margin:0 0 12px;color:#d99b12;font:500 1rem Arial;letter-spacing:.08em}.match-events{display:flex;flex-direction:column;gap:7px}.match-event-row{display:flex;align-items:center;gap:10px;color:#ddd;font:.82rem Arial}.match-event-row .live-player-avatar{width:30px;height:30px;border-width:2px}
.live-match-dialog label{position:relative;z-index:2;display:flex;flex-direction:column;gap:7px;margin:12px 0;color:#d99b12;text-align:left;font:.78rem Arial}.live-match-dialog select{height:42px;border:1px solid #b97908;background:#080808;color:#eee;padding:0 12px}.live-match-green-button{position:relative;z-index:2;width:100%;margin-top:14px;background:linear-gradient(rgba(104,145,58,.8),rgba(104,145,58,.8)),url("texturas do site/textura-base-janelas-couro-verde.png") center/220px repeat;color:#f5efd8}.live-match-green-button:disabled{opacity:.45;cursor:default}
.point-dialog{width:min(640px,calc(100vw - 24px))}.point-team-options{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px}.point-team-options button,.point-player-options button{border:1px solid #b97908;background:#080808;color:#d99b12;cursor:pointer}.point-team-options button{min-height:44px}.point-team-options button.is-selected,.point-player-options button.is-selected{background:rgba(215,151,18,.25);box-shadow:inset 0 0 0 2px #d99b12}.point-player-options{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px}.point-player-options button{min-height:74px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:6px;font:.7rem Arial}.point-player-options .live-player-avatar{width:36px;height:36px;border-width:2px}
@media(max-width:760px){.live-match-panel{padding:80px 8px 30px}.live-match-branding{top:56px;left:10px;transform:scale(.6)}.live-match-back{top:40px!important;right:2px!important;transform:scale(.7);transform-origin:right top}.live-match-title{font-size:1.45rem;gap:7px}.live-match-title span{width:24px}.live-match-teams{grid-template-columns:1fr;gap:16px}.live-team-summary{padding-bottom:10px;border-bottom:1px solid rgba(213,139,0,.35)}.live-player-avatar{width:44px;height:44px}.active-set{grid-template-columns:1fr;gap:16px;padding-bottom:70px}.scoreboard-center{order:-1;justify-content:center}.point-player-options{grid-template-columns:repeat(3,minmax(0,1fr))}.match-confirm-actions{grid-template-columns:1fr}}

/* ===== Partida: quadra, rotação e pontos normal/erro ===== */
.live-match-title{margin-bottom:18px}.set-control-empty{margin:38px auto!important}.match-court-stage{display:grid;grid-template-columns:minmax(0,1fr) 190px minmax(0,1fr);gap:18px;align-items:center;margin-bottom:18px}.set-control-column{display:flex;flex-direction:column;align-items:center;gap:9px}.set-control-button{margin:0!important;width:180px!important;background:linear-gradient(rgba(96,134,53,.86),rgba(96,134,53,.86)),url("texturas do site/textura-base-janelas-couro-verde.png") center/190px repeat!important;color:#f4edcf!important}.set-service-note{margin:0;color:#d99b12;font:500 .72rem Arial;text-align:center}.volleyball-team-court h2{margin:0 0 8px;text-align:center;color:#d99b12;font:500 1.2rem Arial;letter-spacing:.08em}.serving-badge{margin-left:8px;font-size:.62rem}.court-layout{position:relative;min-height:280px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(2,1fr);gap:16px 10px;align-items:center;padding:20px 16px;border:1px dashed rgba(213,139,0,.58);border-radius:42% 10px 10px 42%;background:linear-gradient(rgba(5,5,5,.94),rgba(5,5,5,.94)),url("texturas do site/textura-base-janelas-couro-preto.png") center/360px repeat}.volleyball-team-court:last-child .court-layout{border-radius:10px 42% 42% 10px}.court-net{position:absolute;top:10px;bottom:10px;width:1px;border-left:1px dashed rgba(213,139,0,.5);right:0}.volleyball-team-court:last-child .court-net{right:auto;left:0}.court-player{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}.court-pos-4{grid-column:1;grid-row:1}.court-pos-3{grid-column:2;grid-row:1}.court-pos-2{grid-column:3;grid-row:1}.court-pos-5{grid-column:1;grid-row:2}.court-pos-6{grid-column:2;grid-row:2}.court-pos-1{grid-column:3;grid-row:2}.court-position-number{color:#d99b12;font:600 .7rem Arial}.court-player .live-player-avatar{width:52px;height:52px}.court-player-name{max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d9a11a;font:500 .7rem Arial}.active-set-new{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:17px 20px;border:1.5px solid #c1810b;border-radius:10px;background:linear-gradient(rgba(5,5,5,.95),rgba(5,5,5,.95)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat}.active-set-new:after{content:"";position:absolute;inset:6px;border:1px dashed rgba(214,146,13,.7);pointer-events:none}.score-side,.scoreboard-center-new{position:relative;z-index:2}.score-side h2{margin:0 0 9px;text-align:center;color:#d99b12;font:500 .92rem Arial}.score-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px}.score-action{min-height:58px;border-radius:6px;display:flex;align-items:center;justify-content:center;gap:7px;padding:6px 8px;font:500 .63rem/1.2 Arial;cursor:pointer}.score-action b{font-size:1.45rem}.score-action-normal{border:1px solid #263b13;background:linear-gradient(rgba(92,137,49,.85),rgba(92,137,49,.85)),url("texturas do site/textura-base-janelas-couro-verde.png") center/160px repeat;color:#efe8cd}.score-action-error{border:1px solid #3d0d08;background:linear-gradient(rgba(151,42,25,.86),rgba(151,42,25,.86)),url("texturas do site/textura-base-janelas-couro-preto.png") center/160px repeat;color:#f4d7cc}.scoreboard-center-new{display:flex;align-items:center;gap:14px;color:#d99b12}.scoreboard-center-new strong{font:500 clamp(3rem,6vw,5.5rem)/1 Arial}.scoreboard-center-new span{padding:9px;border:1px dashed #d99b12;transform:rotate(45deg);font:500 1rem Arial}.scoreboard-center-new span::first-letter{transform:rotate(-45deg)}.match-event-row{justify-content:flex-start}.match-event-row>strong{margin-left:auto;color:#d99b12}.match-event-row.is-error b,.match-event-row.is-error span{color:#e54835}.set-start-info{color:#c9b889!important;font-size:.76rem!important}.point-dialog{width:min(700px,calc(100vw - 24px))}.point-player-options{grid-template-columns:repeat(6,minmax(0,1fr))}
@media(max-width:900px){.match-court-stage{grid-template-columns:1fr;gap:14px}.set-control-column{order:-1}.court-layout{min-height:235px}.active-set-new{grid-template-columns:1fr;gap:13px}.scoreboard-center-new{order:-1;justify-content:center}.point-player-options{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.live-match-panel{padding-inline:6px}.court-layout{min-height:205px;padding:13px 8px;gap:10px 4px}.court-player .live-player-avatar{width:42px;height:42px}.court-player-name{max-width:64px;font-size:.58rem}.score-actions{grid-template-columns:1fr 1fr}.score-action{min-height:52px;font-size:.56rem;padding:5px}.scoreboard-center-new strong{font-size:3.1rem}.point-player-options{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* ===== Partida: controle único, quadra 2x3 e times sempre lado a lado ===== */
.match-court-stage {
  grid-template-columns: minmax(0,1fr) clamp(118px,12vw,170px) minmax(0,1fr) !important;
  gap: clamp(8px,1.4vw,18px) !important;
  align-items: center !important;
}
.set-control-column { align-self:center; }
.set-control-button { width:100% !important; min-width:0 !important; }
.set-control-button.is-ending {
  background:linear-gradient(rgba(96,134,53,.86),rgba(96,134,53,.86)),url("texturas do site/textura-base-janelas-couro-verde.png") center/190px repeat!important;
}
.volleyball-team-court { position:relative; min-width:0; }
.court-layout {
  min-height:300px !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  grid-template-rows:repeat(3,minmax(0,1fr)) !important;
  gap:8px 14px !important;
  padding:14px clamp(46px,5vw,72px) 14px 14px !important;
}
.volleyball-team-court:last-child .court-layout {
  padding:14px 14px 14px clamp(46px,5vw,72px) !important;
}
/* coluna junto à rede: 2,3,4. coluna de fundo: 1,6,5 */
.court-pos-2{grid-column:1;grid-row:1}.court-pos-3{grid-column:1;grid-row:2}.court-pos-4{grid-column:1;grid-row:3}
.court-pos-1{grid-column:2;grid-row:1}.court-pos-6{grid-column:2;grid-row:2}.court-pos-5{grid-column:2;grid-row:3}
.volleyball-team-court:last-child .court-pos-2{grid-column:2}.volleyball-team-court:last-child .court-pos-3{grid-column:2}.volleyball-team-court:last-child .court-pos-4{grid-column:2}
.volleyball-team-court:last-child .court-pos-1{grid-column:1}.volleyball-team-court:last-child .court-pos-6{grid-column:1}.volleyball-team-court:last-child .court-pos-5{grid-column:1}
.court-score-controls {
  position:absolute;
  z-index:5;
  top:50%;
  transform:translateY(-50%);
  display:flex;
  flex-direction:column;
  gap:8px;
}
.court-score-controls-left { left:4px; }
.court-score-controls-right { right:4px; }
.court-score-controls .score-action {
  width:42px;
  min-height:48px;
  padding:3px;
  flex-direction:column;
  gap:1px;
}
.court-score-controls .score-action span { font-size:.48rem; }
.court-score-controls .score-action b { font-size:1.2rem; }
.active-set-new {
  display:flex !important;
  justify-content:center;
  width:min(100%,560px);
  margin:10px auto 18px;
  padding:10px 18px !important;
}
.active-set-new .score-side { display:none !important; }
.scoreboard-center-new { justify-content:center; }
.set-lineup-editor {
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:14px;
}
.lineup-team {
  padding:10px;
  border:1px solid rgba(193,129,11,.55);
  border-radius:7px;
  background:rgba(0,0,0,.22);
}
.lineup-team h3 {
  margin:0 0 8px;
  color:#d99b12;
  font:500 .9rem/1 Arial,sans-serif;
  letter-spacing:.06em;
}
.lineup-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
}
.lineup-grid label { margin:0 !important; gap:4px !important; }
.lineup-grid label span { font-size:.58rem; }
.lineup-grid select { height:34px !important; font-size:.7rem; }

@media(max-width:900px){
  .match-court-stage {
    grid-template-columns:minmax(0,1fr) 88px minmax(0,1fr) !important;
    gap:5px !important;
  }
  .set-control-column { order:initial !important; }
  .set-control-button { min-height:44px; font-size:.66rem; padding:4px; }
  .set-service-note { font-size:.54rem; }
  .court-layout {
    min-height:250px !important;
    padding:10px 38px 10px 5px !important;
    gap:5px 4px !important;
  }
  .volleyball-team-court:last-child .court-layout { padding:10px 5px 10px 38px !important; }
  .court-player .live-player-avatar { width:38px !important; height:38px !important; }
  .court-player-name { max-width:58px !important; font-size:.52rem !important; }
  .court-score-controls .score-action { width:34px; min-height:42px; }
  .court-score-controls .score-action span { font-size:.39rem; }
  .court-score-controls-left { left:1px; }.court-score-controls-right { right:1px; }
}
@media(max-width:560px){
  .live-match-core { width:100%; }
  .match-court-stage {
    grid-template-columns:minmax(0,1fr) 66px minmax(0,1fr) !important;
    gap:3px !important;
  }
  .volleyball-team-court h2 { font-size:.72rem; }
  .serving-badge { display:block; margin:2px 0 0; font-size:.45rem; }
  .court-layout {
    min-height:220px !important;
    padding:7px 31px 7px 2px !important;
    border-radius:22% 5px 5px 22% !important;
  }
  .volleyball-team-court:last-child .court-layout {
    padding:7px 2px 7px 31px !important;
    border-radius:5px 22% 22% 5px !important;
  }
  .court-player .live-player-avatar { width:31px !important; height:31px !important; }
  .court-position-number { font-size:.52rem; }
  .court-player-name { max-width:38px !important; font-size:.42rem !important; }
  .court-score-controls .score-action { width:28px; min-height:38px; border-radius:4px; }
  .court-score-controls .score-action b { font-size:.95rem; }
  .court-score-controls .score-action span { display:none; }
  .set-control-button { font-size:.52rem; min-height:42px; padding:3px; }
  .set-service-note { font-size:.44rem; }
  .set-lineup-editor { grid-template-columns:1fr; }
  .lineup-grid { grid-template-columns:1fr 1fr; }
}

/* ===== Partida: montagem visual das posições e histórico de múltiplos sets ===== */
.set-control-button:disabled {
  opacity: .42;
  cursor: not-allowed;
  filter: grayscale(.35);
}
.court-layout.is-lineup-setup {
  background:
    linear-gradient(rgba(5,5,5,.94),rgba(5,5,5,.94)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/360px repeat;
}
.court-player-slot {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 0;
  cursor: pointer;
  color: inherit;
}
.court-empty-plus {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border: 2px solid #d99b12;
  border-radius: 50%;
  color: #d99b12;
  font: 300 1.9rem/1 Arial,sans-serif;
  background: rgba(0,0,0,.28);
}
.court-player-slot:hover .court-empty-plus,
.court-player-slot:focus-visible .court-empty-plus {
  background: rgba(217,155,18,.12);
  outline: 1px dashed #d99b12;
  outline-offset: 4px;
}
.position-dialog { width:min(620px,calc(100vw - 24px)); }
.position-player-options {
  grid-template-columns: repeat(6,minmax(0,1fr)) !important;
}
.position-player-options button {
  min-height: 82px;
  border-radius: 8px;
}
.position-player-options .live-player-avatar {
  width: 54px;
  height: 54px;
}
.completed-sets-panel {
  margin-top: 18px;
  padding: 18px;
  border-top: 1px solid rgba(213,139,0,.5);
}
.completed-sets-panel > h2 {
  margin: 0 0 12px;
  color: #d99b12;
  font: 500 1rem/1 Arial,sans-serif;
  letter-spacing: .08em;
}
.completed-sets {
  display: grid;
  gap: 9px;
}
.completed-set-card {
  border: 1px solid rgba(193,129,11,.62);
  border-radius: 8px;
  overflow: hidden;
  background:
    linear-gradient(rgba(5,5,5,.94),rgba(5,5,5,.94)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/360px repeat;
}
.completed-set-summary {
  width: 100%;
  min-height: 48px;
  display: grid;
  grid-template-columns: auto auto minmax(0,1fr);
  align-items: center;
  gap: 16px;
  padding: 8px 14px;
  border: 0;
  background: transparent;
  color: #d99b12;
  cursor: pointer;
  text-align: left;
}
.completed-set-summary span { font: 500 .72rem/1 Arial,sans-serif; letter-spacing:.08em; }
.completed-set-summary strong { font: 500 1.25rem/1 Arial,sans-serif; }
.completed-set-summary small { justify-self:end; color:#d6c59b; font:400 .72rem/1 Arial,sans-serif; }
.completed-set-summary::after { content:'⌄'; color:#d99b12; }
.completed-set-summary.is-open::after { transform:rotate(180deg); }
.completed-set-events {
  padding: 10px 14px 14px;
  border-top: 1px dashed rgba(213,139,0,.5);
}
.completed-set-events[hidden] { display:none !important; }

@media(max-width:760px){
  .court-empty-plus { width:42px;height:42px;font-size:1.55rem; }
  .position-player-options { grid-template-columns:repeat(3,minmax(0,1fr)) !important; }
  .completed-set-summary { grid-template-columns:auto auto 1fr auto; gap:8px; padding:8px 9px; }
  .completed-set-summary small { font-size:.58rem; }
}
@media(max-width:560px){
  .court-empty-plus { width:31px;height:31px;font-size:1.15rem;border-width:1.5px; }
  .position-player-options .live-player-avatar { width:44px;height:44px; }
}

/* ===== Partida: espelhamento correto, saque, placares separados e salvar jogo ===== */
.live-match-top-actions {
  position:absolute;
  top:34px;
  right:12px;
  z-index:8;
  display:flex;
  align-items:center;
  gap:18px;
}
.live-match-top-actions .live-match-back {
  position:static !important;
  transform:none !important;
}
.live-match-save-game {
  min-height:38px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid #233713;
  border-radius:5px;
  padding:0 12px;
  background:
    linear-gradient(rgba(93,137,49,.86),rgba(93,137,49,.86)),
    url("texturas do site/textura-base-janelas-couro-verde.png") center/170px repeat;
  color:#f2e8ca;
  font:500 .72rem/1 Arial,sans-serif;
  letter-spacing:.06em;
  cursor:pointer;
}
.live-match-save-game svg { width:19px;height:19px;fill:currentColor; }

/* Time A, à esquerda: fundo 5-6-1; rede 4-3-2. Time B espelhado: rede 2-3-4; fundo 1-6-5. */
#court-left .court-pos-5{grid-column:1;grid-row:1}
#court-left .court-pos-6{grid-column:1;grid-row:2}
#court-left .court-pos-1{grid-column:1;grid-row:3}
#court-left .court-pos-4{grid-column:2;grid-row:1}
#court-left .court-pos-3{grid-column:2;grid-row:2}
#court-left .court-pos-2{grid-column:2;grid-row:3}
#court-right .court-pos-2{grid-column:1;grid-row:1}
#court-right .court-pos-3{grid-column:1;grid-row:2}
#court-right .court-pos-4{grid-column:1;grid-row:3}
#court-right .court-pos-1{grid-column:2;grid-row:1}
#court-right .court-pos-6{grid-column:2;grid-row:2}
#court-right .court-pos-5{grid-column:2;grid-row:3}

.position-player-options button.is-already-positioned {
  border-color:#e09b13 !important;
  box-shadow:inset 0 0 0 2px rgba(224,155,19,.62);
  background:rgba(224,155,19,.18) !important;
}
.position-player-options button.is-already-positioned .live-player-avatar::after {
  content:"";
  position:absolute;
  inset:0;
  border-radius:50%;
  background:rgba(224,155,19,.20);
  pointer-events:none;
}
.position-player-options .live-player-avatar { position:relative; }

.court-player.is-server .live-player-avatar {
  border-color:#39b54a !important;
  box-shadow:0 0 0 3px rgba(57,181,74,.28);
}
.court-player.is-server .court-position-number { color:#55d264; }

.court-score-controls { gap:15px !important; }
.court-team-score {
  position:relative;
  margin-top:8px;
  min-height:72px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  border:1.5px solid #c1810b;
  border-radius:8px;
  background:
    linear-gradient(rgba(5,5,5,.94),rgba(5,5,5,.94)),
    url("texturas do site/textura-base-janelas-couro-preto.png") center/360px repeat;
  color:#d99b12;
}
.court-team-score::after {
  content:"";
  position:absolute;
  inset:5px;
  border:1px dashed rgba(217,155,18,.72);
  pointer-events:none;
}
.court-team-score span,.court-team-score strong { position:relative;z-index:1; }
.court-team-score span { font:500 .72rem Arial,sans-serif;letter-spacing:.08em; }
.court-team-score strong { font:500 2.8rem/1 Arial,sans-serif; }
.active-set-new {
  width:auto !important;
  min-width:74px;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
}
.active-set-new::after { display:none !important; }
.scoreboard-center-new strong { display:none !important; }
.scoreboard-center-new span { display:block; }

@media(max-width:650px){
  .live-match-top-actions { top:36px;right:2px;gap:5px;transform:scale(.72);transform-origin:right top; }
  .live-match-save-game span { display:none; }
  .live-match-save-game { width:38px;padding:0;justify-content:center; }
  .court-score-controls { gap:10px !important; }
  .court-team-score { min-height:56px;margin-top:5px; }
  .court-team-score strong { font-size:2rem; }
}

/* ===== Gerenciar jogos ===== */
.games-page { overflow-x:hidden;overflow-y:auto; }
.games-shell { min-height:100dvh;height:auto;overflow:visible; }
.games-panel { min-height:calc(100dvh - 30px);padding:92px 28px 48px; }
.games-core { position:relative;z-index:3;width:min(100%,1180px);margin:auto; }
.games-title { margin:0 0 26px;display:flex;align-items:center;justify-content:center;gap:15px;color:#eee9df;font:400 clamp(1.8rem,3.5vw,3.3rem)/1 Georgia,serif;letter-spacing:.12em; }
.games-title span { width:60px;height:3px;background:#d99400; }
.games-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.game-card { position:relative;border:1.5px solid #c1810b;border-radius:10px;padding:16px;background:linear-gradient(rgba(6,6,6,.95),rgba(6,6,6,.95)),url("texturas do site/textura-base-janelas-couro-preto.png") center/380px repeat;color:#d99b12; }
.game-card::after { content:"";position:absolute;inset:6px;border:1px dashed rgba(217,155,18,.65);pointer-events:none; }
.game-card button { position:relative;z-index:2;width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer; }
.game-card h2 { margin:0 0 8px;font:500 1.05rem Arial,sans-serif; }
.game-meta { display:flex;justify-content:space-between;gap:10px;font:.75rem Arial,sans-serif;color:#ddd5c4; }
.game-details { position:relative;z-index:2;margin-top:12px;padding-top:10px;border-top:1px solid rgba(217,155,18,.35); }
.game-set { margin:8px 0;border:1px solid rgba(217,155,18,.35);border-radius:5px;overflow:hidden; }
.game-set-summary { min-height:38px!important;padding:0 10px!important;display:flex;align-items:center;justify-content:space-between;background:rgba(217,155,18,.08)!important; }
.game-set-events { padding:8px 10px;color:#ddd5c4;font:.72rem/1.45 Arial,sans-serif; }
.games-feedback { text-align:center;color:#d99b12; }
@media(max-width:850px){.games-grid{grid-template-columns:1fr 1fr}.games-panel{padding-inline:10px}}
@media(max-width:560px){.games-grid{grid-template-columns:1fr}.games-title{font-size:1.5rem}.games-title span{width:25px}}
.court-versus {
  margin-top:auto;
  margin-bottom:18px;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border:1px dashed #d99b12;
  color:#d99b12;
  font:500 1rem/1 Arial,sans-serif;
  transform:rotate(45deg);
}
.court-versus::first-letter { transform:rotate(-45deg); }
.court-versus[hidden] { display:none!important; }
@media(max-width:650px){.court-versus{width:40px;height:40px;margin-bottom:10px;font-size:.72rem}}

/* ===== Partida: escolha de saque inicial e tipo do ponto ===== */
.service-dialog { width:min(520px,calc(100vw - 24px)); }
.service-dialog > p { position:relative; z-index:2; text-align:center; color:#cdbb8b; font:400 .82rem/1.4 Arial,sans-serif; }
.service-team-options { position:relative; z-index:2; display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.service-team-options button {
  min-height:54px; border:1px solid #b97908; border-radius:6px;
  background:linear-gradient(rgba(7,7,7,.94),rgba(7,7,7,.94)),url("texturas do site/textura-base-janelas-couro-preto.png") center/320px repeat;
  color:#d99b12; font:500 .9rem Arial,sans-serif; cursor:pointer;
}
.service-team-options button.is-selected { background:rgba(215,151,18,.22); box-shadow:inset 0 0 0 2px #d99b12; }
#service-modal-feedback { position:relative; z-index:2; min-height:20px; text-align:center; color:#d99b12; font:.75rem Arial,sans-serif; }
.point-dialog { position:relative; }
.point-type-quick {
  position:absolute; z-index:10; left:var(--quick-left,50%); top:var(--quick-top,120px);
  width:152px; display:grid; grid-template-columns:1fr 1fr; gap:5px; padding:5px;
  border:1px solid #d99b12; border-radius:6px;
  background:linear-gradient(rgba(5,5,5,.97),rgba(5,5,5,.97)),url("texturas do site/textura-base-janelas-couro-preto.png") center/260px repeat;
  transform:translateX(-50%); box-shadow:0 5px 14px rgba(0,0,0,.5);
}
.point-type-quick[hidden] { display:none!important; }
.point-type-quick button { min-height:32px; border:1px solid rgba(217,155,18,.65); background:#080808; color:#d99b12; font:500 .65rem Arial,sans-serif; cursor:pointer; }
.point-type-quick button.is-selected { background:#8f6511; color:#080604; }
.match-event-row.is-serve b,.match-event-row.is-serve span { color:#65cf74; }
@media(max-width:560px){.service-team-options{grid-template-columns:1fr}.point-type-quick{width:136px}.point-type-quick button{font-size:.58rem}}

/* =========================================================
   VOTAÇÃO — vinculada aos jogos salvos
   ========================================================= */
.voting-page{overflow-x:hidden!important;overflow-y:auto!important;background:#050505}.voting-shell{min-height:100dvh;height:auto;overflow:visible}.voting-panel{max-width:1580px;min-height:calc(100dvh - 36px);padding:90px 34px 54px}.voting-panel .athlete-card-frame{inset:48px 18px 28px}.voting-branding{position:absolute;top:56px;left:54px;transform:scale(.82);transform-origin:left top}.voting-back{top:42px!important;right:22px!important}.voting-core{position:relative;z-index:3;width:min(100%,1370px);margin:auto}.voting-title{margin:0;text-align:center;color:#d59a24;font:500 clamp(2.8rem,5vw,5rem)/1 Georgia,serif;letter-spacing:.08em}.voting-title span{font-size:.42em;margin:0 18px}.voting-subtitle{margin:16px 0 42px;text-align:center;color:#d8c7a9;font:400 clamp(1rem,1.4vw,1.35rem)/1.4 Georgia,serif}.voting-layout{display:grid;grid-template-columns:minmax(0,2.45fr) minmax(300px,.95fr);gap:20px}.voting-team-panel,.voting-summary-panel{position:relative;border:1.5px solid #a86f0c;border-radius:13px;background:linear-gradient(rgba(4,4,4,.92),rgba(4,4,4,.92)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat}.voting-team-panel:after,.voting-summary-panel:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(205,139,17,.72);border-radius:8px;pointer-events:none}.voting-team-panel{padding:20px 20px 24px}.voting-team-panel h2{position:relative;z-index:1;margin:0 0 24px;text-align:center;color:#d69a20;font:500 clamp(1.7rem,2.5vw,2.5rem)/1 Georgia,serif;letter-spacing:.07em}.voting-team-panel h2 span{font-size:.55em;margin:0 12px}.voting-player-grid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:12px}.voting-player-card{position:relative;min-height:285px;display:flex;flex-direction:column;align-items:center;padding:34px 12px 14px;border:1px solid rgba(152,105,24,.42);border-radius:8px;background:rgba(10,10,10,.58);color:#d99d22}.voting-player-card.is-voted{filter:grayscale(1);opacity:.63}.voting-pending-badge{position:absolute;top:8px;left:8px;right:8px;min-height:28px;display:grid;place-items:center;border:1px solid #db1717;border-radius:5px;background:#160707;color:#ff3030;font:600 .68rem/1 Arial,sans-serif}.voting-player-photo{width:112px;height:112px;margin:8px auto 12px;display:grid;place-items:center;border:2px solid #b57a12;border-radius:50%;overflow:hidden;background:#111}.voting-player-photo img{width:100%;height:100%;object-fit:cover}.voting-generic-avatar{font-size:3.8rem;color:#8e8e8e}.voting-player-card h3{margin:0 0 14px;text-align:center;font:500 1.05rem/1.2 Arial,sans-serif;letter-spacing:.04em}.voting-player-card button{margin-top:auto;width:100%;min-height:44px;border:1px solid #18220e;border-radius:5px;background:linear-gradient(rgba(94,126,45,.84),rgba(94,126,45,.84)),url("texturas do site/textura-base-janelas-couro-verde.png") center/180px repeat;color:#f1e8ce;font:500 .92rem/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer}.voting-player-card button:disabled{background:#151515;color:#8d8d8d;border-color:#535353;cursor:default}.voting-summary-panel{padding:48px 24px 26px;display:flex;flex-direction:column;justify-content:center}.voting-pending-summary{position:relative;z-index:1;display:grid;grid-template-columns:82px auto 1fr;align-items:center;gap:14px;color:#dda126}.voting-clipboard{width:72px;height:72px;display:grid;place-items:center;border:2px dashed #bd7e10;border-radius:50%;font-size:2.5rem}.voting-pending-summary strong{font:500 4.5rem/1 Georgia,serif}.voting-pending-summary>span:last-child{font:600 1.25rem/1.25 Arial,sans-serif}.voting-summary-divider{position:relative;z-index:1;height:1px;margin:34px 0;background:linear-gradient(90deg,transparent,#a56f17,transparent)}.voting-match-date{position:relative;z-index:1;margin:0 0 34px;color:#d9c8a8;font:400 1.05rem/1.55 Georgia,serif}.voting-analytics-button{position:relative;z-index:1;min-height:54px;border:1.5px solid #aa7417;border-radius:4px;background:linear-gradient(rgba(8,8,8,.93),rgba(8,8,8,.93)),url("texturas do site/textura-base-janelas-couro-preto.png") center/260px repeat;color:#d99c21;font:500 .95rem/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer}.voting-empty{margin:110px auto;text-align:center;color:#d69a1e;font:400 1rem Arial,sans-serif}
@media(max-width:850px){.voting-panel{padding:78px 10px 34px}.voting-branding{top:58px;left:12px;transform:scale(.62)}.voting-back{top:42px!important;right:2px!important;transform:scale(.72);transform-origin:right top}.voting-title{font-size:2.2rem}.voting-subtitle{margin:12px 16px 24px;font-size:.96rem}.voting-layout{grid-template-columns:1fr}.voting-player-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.voting-team-panel{padding:15px 10px 18px}.voting-player-card{min-height:220px;padding:30px 6px 8px}.voting-player-photo{width:74px;height:74px}.voting-player-card h3{font-size:.78rem}.voting-player-card button{min-height:38px;font-size:.76rem}.voting-pending-badge{font-size:.55rem}.voting-summary-panel{padding:28px 20px}.voting-pending-summary{grid-template-columns:60px auto 1fr}.voting-clipboard{width:55px;height:55px}.voting-pending-summary strong{font-size:3rem}.voting-pending-summary>span:last-child{font-size:.92rem}}
@media(max-width:480px){.voting-player-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.voting-player-photo{width:64px;height:64px}.voting-player-card{min-height:205px}.voting-title span{margin:0 7px}}


.vote-modal[hidden]{display:none!important}
.vote-modal{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:18px}
.vote-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.66);backdrop-filter:blur(2px)}
.vote-modal-card{position:relative;z-index:1;width:min(100%,570px);padding:26px 28px 20px;border:1.5px solid #a86f0c;border-radius:14px;background:linear-gradient(rgba(5,5,5,.94),rgba(5,5,5,.94)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat;box-shadow:0 24px 80px rgba(0,0,0,.65)}
.vote-modal-card::after{content:"";position:absolute;inset:7px;border:1px dashed rgba(205,139,17,.72);border-radius:8px;pointer-events:none}
.vote-modal-close{position:absolute;top:14px;right:16px;z-index:2;border:0;background:none;color:#d69a20;font:400 2rem/1 Georgia,serif;cursor:pointer}
.vote-modal-top{position:relative;z-index:1;display:grid;grid-template-columns:128px minmax(0,1fr);gap:18px;align-items:center}
.vote-modal-player-photo{width:112px;height:112px;border:2px solid #b57a12;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#111}
.vote-modal-player-photo img{width:100%;height:100%;object-fit:cover}
.vote-modal-player-photo .voting-generic-avatar{font-size:4rem}
.vote-modal-summary{display:grid;gap:12px;color:#e3d4b7}
.vote-modal-summary-line{display:grid;grid-template-columns:28px minmax(0,1fr);gap:12px;align-items:center;font:400 1rem/1.35 Georgia,serif}
.vote-modal-summary-line i{font-style:normal;color:#d69a20;font-size:1.45rem;text-align:center}
.vote-modal-divider{position:relative;z-index:1;height:1px;margin:18px 0 10px;background:linear-gradient(90deg,transparent,#a56f17,transparent)}
.vote-modal-title{position:relative;z-index:1;margin:0 0 18px;text-align:center;color:#d59a24;font:500 clamp(2rem,3vw,2.8rem)/1 Georgia,serif;letter-spacing:.04em}.vote-modal-title span{font-size:.42em;margin:0 12px}
.vote-modal-rows{position:relative;z-index:1;display:grid;gap:9px}
.vote-rating-row{display:grid;grid-template-columns:minmax(140px,1.25fr) auto minmax(0,1.9fr) 26px;gap:10px;align-items:center;color:#d89c22}
.vote-rating-label{display:flex;align-items:center;gap:10px;min-width:0;font:500 .98rem/1.1 Georgia,serif;color:#dbc8a6}
.vote-rating-label i{font-style:normal;color:#d69a20;font-size:1.2rem;width:18px;text-align:center;flex:none}
.vote-rating-colon{font:500 1.1rem/1 Georgia,serif;color:#d69a20}
.vote-rating-squares{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:4px;touch-action:none}
.vote-square{height:28px;border:1px solid #8b6112;border-radius:3px;background:rgba(6,6,6,.78);cursor:pointer;transition:transform .12s ease, background .12s ease, box-shadow .12s ease;padding:0}
.vote-square.is-filled{background:linear-gradient(rgba(217,159,40,.95),rgba(217,159,40,.95)),url("texturas do site/textura-base-janelas-couro-amarelo.png") center/120px repeat;box-shadow:inset 0 0 0 1px rgba(23,18,11,.55)}
.vote-square:focus-visible{outline:2px solid #d69a20;outline-offset:1px}
.vote-rating-value{text-align:right;color:#d69a20;font:500 1.6rem/1 "Arial Narrow","Segoe UI",sans-serif}
.vote-save-button{position:relative;z-index:1;display:block;width:min(100%,280px);margin:20px auto 0;min-height:56px;border:1px solid #18220e;border-radius:6px;background:linear-gradient(rgba(94,126,45,.84),rgba(94,126,45,.84)),url("texturas do site/textura-base-janelas-couro-verde.png") center/180px repeat;color:#f1e8ce;font:500 1.02rem/1 Arial,sans-serif;letter-spacing:.06em;cursor:pointer}
.vote-save-button:disabled{cursor:default;filter:grayscale(1);opacity:.55}
.voting-player-card button.is-voted-button,.voting-player-card button:disabled{background:#151515;color:#8d8d8d;border-color:#535353;cursor:default}
@media(max-width:850px){
  .vote-modal{padding:8px}
  .vote-modal-card{width:min(100%,360px);padding:20px 14px 16px}
  .vote-modal-top{grid-template-columns:88px minmax(0,1fr);gap:12px}
  .vote-modal-player-photo{width:82px;height:82px}
  .vote-modal-summary-line{grid-template-columns:22px minmax(0,1fr);gap:10px;font-size:.96rem}
  .vote-modal-summary-line i{font-size:1.18rem}
  .vote-modal-title{font-size:2rem;margin-bottom:14px}
  .vote-rating-row{grid-template-columns:minmax(0,1fr) auto;gap:5px;align-items:start}
  .vote-rating-label{grid-column:1/2;font-size:.86rem;padding-top:6px}
  .vote-rating-colon{display:none}
  .vote-rating-squares{grid-column:1/2;grid-row:2/3;margin-left:28px}
  .vote-rating-value{grid-column:2/3;grid-row:2/3;align-self:center;font-size:1.25rem}
  .vote-square{height:23px}
  .vote-save-button{min-height:52px;font-size:.96rem}
}

/* Tipografia Runas baseada no alfabeto viking vetorial enviado.
   Aplicada somente a títulos, menus e controles para preservar a legibilidade dos dados. */
:root{
  --runas-ui-font:"Copperplate Gothic Light","Copperplate","Arial Narrow","Trebuchet MS",Arial,sans-serif;
}
button,
input[type="button"],
input[type="submit"],
select,
.athlete-action,
.logout-button,
[class*="-title"],
[class*="-heading"],
[class*="menu"],
[class*="nav"],
[class*="button"],
.tribe-branding strong,
.tribe-branding span,
h1,h2{
  font-family:var(--runas-ui-font)!important;
  font-weight:400!important;
  letter-spacing:.055em;
}
button,
input[type="button"],
input[type="submit"],
[class*="button"]{
  text-transform:uppercase;
}

/* =========================================================
   TIPOGRAFIA OFICIAL RUNAS — NORUEGA FWC 2026
   ========================================================= */
@font-face {
  font-family: "Noruega Runas";
  src: local("Noruega Font - FWC 2026"),
       local("Noruega FWC 2026"),
       url("fonts/Noruega_Font_-_FWC_2026.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
:root { --runas-ui-font: "Noruega Runas", "Arial Narrow", Arial, sans-serif; }

/* Títulos principais e títulos de menus */
h1, h2,
[class*="-title"],
[class*="-heading"],
.athlete-name,
.athlete-status,
.tribe-branding strong,
.tribe-branding span,
.brand-title,
.brand-subtitle,
.main-title,
.panel-title,
.auth-title,
.voting-title,
.games-title,
.ranking-hero h1,
.team-generator-title,
.manage-users-title,
.admin-list-title,
.monthly-title {
  font-family: var(--runas-ui-font) !important;
  font-weight: 400 !important;
}

/* Botões e controles de navegação */
button,
.button,
[class*="-button"],
.athlete-action,
.logout-button,
nav a,
.menu a,
select,
input[type="button"],
input[type="submit"] {
  font-family: var(--runas-ui-font) !important;
  font-weight: 400 !important;
}

/* Nomes de jogadores em todas as áreas principais */
.ranking-name-row h2,
.ranking-player-name,
.team-player-name,
.court-player-name,
.voting-player-card h3,
.origin-player-card,
.manage-users-cell-player input,
.admin-person-name,
.list-person-name,
.monthly-member-name,
.game-player-name,
.match-event-row b {
  font-family: var(--runas-ui-font) !important;
  font-weight: 400 !important;
}

/* =========================================================
   CAIXA FINANCEIRO
   ========================================================= */
.finance-page{overflow-x:hidden!important;overflow-y:auto!important;background:#050505}.finance-shell{min-height:100dvh;height:auto;overflow:visible}.finance-panel{max-width:1580px;min-height:calc(100dvh - 36px);padding:92px 34px 54px}.finance-panel .athlete-card-frame{inset:48px 18px 28px}.finance-branding{position:absolute;top:56px;left:54px;transform:scale(.82);transform-origin:left top}.finance-back{top:42px!important;right:22px!important}.finance-core{position:relative;z-index:3;width:min(100%,1390px);margin:auto}.finance-title{margin:0 0 28px;text-align:center;color:#d59a24;font:500 clamp(2.4rem,4.2vw,4rem)/1 var(--runas-display-font,Georgia),serif;letter-spacing:.05em}.finance-title span{font-size:.4em;margin:0 14px}.finance-toolbar{display:grid;grid-template-columns:minmax(220px,1.2fr) minmax(165px,.8fr) repeat(3,minmax(170px,.9fr));gap:12px;padding:13px;border:1px solid rgba(168,111,12,.8);border-radius:9px;background:linear-gradient(rgba(5,5,5,.93),rgba(5,5,5,.93)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat}.finance-add-button,.finance-period,.finance-summary{min-height:76px;border:1px solid #7f5510;border-radius:6px;background:rgba(8,8,8,.72);position:relative}.finance-add-button:after,.finance-period:after,.finance-summary:after{content:"";position:absolute;inset:5px;border:1px dashed rgba(205,139,17,.55);border-radius:3px;pointer-events:none}.finance-add-button{display:flex;align-items:center;justify-content:center;gap:14px;color:#d89b20;cursor:pointer;font:500 .95rem/1 var(--runas-display-font,Arial),sans-serif}.finance-add-button b{font:300 2.2rem/1 Arial}.finance-period{display:grid;grid-template-columns:1fr;align-content:center;padding:8px 14px;color:#d8c7a9}.finance-period span{font-size:.65rem;color:#d59a24}.finance-period select{border:0;background:#080808;color:#e5dccb;padding:6px;font:400 .85rem Arial}.finance-summary{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:8px}.finance-summary small{font:500 .61rem/1.2 var(--runas-display-font,Arial);color:#d59a24}.finance-summary strong{margin-top:7px;font:500 1.35rem/1 Arial}.finance-summary.is-out strong{color:#df3131}.finance-summary.is-in strong{color:#61a837}.finance-summary.is-balance strong{color:#d99c21}.finance-ledger{margin-top:16px;border:1px solid rgba(168,111,12,.72);border-radius:8px;overflow:hidden;background:linear-gradient(rgba(4,4,4,.9),rgba(4,4,4,.9)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat}.finance-ledger-head{display:grid;grid-template-columns:185px 150px minmax(280px,1fr) 190px 35px;gap:10px;padding:13px 18px;border-bottom:1px solid rgba(168,111,12,.55);color:#d59a24;font:500 .68rem/1 var(--runas-display-font,Arial)}.finance-row{display:grid;grid-template-columns:185px 150px minmax(280px,1fr) 190px 35px;gap:10px;align-items:center;min-height:66px;padding:8px 18px;border-bottom:1px solid rgba(145,106,35,.25);color:#e1d7c7}.finance-row:last-child{border-bottom:0}.finance-value{display:flex;align-items:center;gap:10px}.finance-value i{font-style:normal;font-size:1.65rem}.finance-value strong{font:500 1.3rem/1 Arial}.finance-row.is-income .finance-value{color:#60ad37}.finance-row.is-expense .finance-value{color:#e03737}.finance-row time{font:400 .82rem/1.25 Arial}.finance-description{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:10px;align-items:center}.finance-type-icon{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(176,118,18,.55);border-radius:5px;color:#d69a20;font-size:1.15rem}.finance-description b{display:block;font:500 .95rem/1.15 var(--runas-display-font,Arial)}.finance-description small{display:block;margin-top:3px;color:#9f9789;font:400 .7rem/1.2 Arial}.finance-description button{border:0;background:none;color:#d69a20;font-size:1.4rem;cursor:pointer}.finance-running-balance{color:#61a837;text-align:right;font:500 1rem Arial}.finance-more{border:0;background:none;color:#d59a24;font-size:1.5rem}.finance-details{grid-column:1/-1;margin:2px 30px 10px;padding:12px;border:1px solid rgba(151,103,22,.55);border-radius:6px;display:grid;grid-template-columns:1fr 1fr;gap:18px;background:rgba(5,5,5,.58)}.finance-details[hidden]{display:none}.finance-details h3{margin:0 0 8px;color:#d59a24;font:500 .72rem/1 var(--runas-display-font,Arial)}.finance-details footer{grid-column:1/-1;text-align:right;color:#d59a24}.finance-sub-row{display:grid;grid-template-columns:minmax(0,1fr) 125px 80px auto;gap:8px;align-items:center;min-height:28px;border-bottom:1px solid rgba(255,255,255,.06);font:400 .76rem Arial}.finance-sub-row.is-absent>span:first-child{color:#e04444}.finance-sub-row small{display:block;color:#989083;font-size:.63rem;font-style:italic}.finance-pair{font-size:.7rem}.finance-pair i{color:#d59a24}.finance-sub-row strong{color:#62a83b;text-align:right}.finance-sub-row select{max-width:125px;background:#090909;color:#d9c8a8;border:1px solid #9c6814;padding:4px}.finance-pagination{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:10px 14px;border:1px solid rgba(168,111,12,.55);color:#948a7b;font:.7rem Arial}.finance-pagination div{display:flex;gap:5px}.finance-pagination button{min-width:34px;height:30px;border:1px solid #885b12;background:#080808;color:#d59a24;cursor:pointer}.finance-pagination button.is-active{background:#d0921c;color:#090909}.finance-empty{text-align:center;padding:50px;color:#d59a24}.finance-modal[hidden]{display:none}.finance-modal{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:15px}.finance-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.72)}.finance-modal-card{position:relative;z-index:1;width:min(100%,480px);display:grid;gap:12px;padding:28px;border:1.5px solid #a86f0c;border-radius:12px;background:linear-gradient(rgba(5,5,5,.95),rgba(5,5,5,.95)),url("texturas do site/textura-base-janelas-couro-preto.png") center/420px repeat;color:#d9c8a8}.finance-modal-card:after{content:"";position:absolute;inset:7px;border:1px dashed rgba(205,139,17,.7);border-radius:7px;pointer-events:none}.finance-modal-card h2{position:relative;z-index:1;margin:0 0 6px;text-align:center;color:#d59a24}.finance-modal-card label{position:relative;z-index:1;display:grid;gap:5px;color:#d59a24;font:.75rem Arial}.finance-modal-card input,.finance-modal-card select{min-height:42px;border:1px solid #926113;background:#080808;color:#eee1ce;padding:8px}.finance-modal-close{position:absolute;z-index:3;right:14px;top:10px;border:0;background:none;color:#d59a24;font-size:2rem}.finance-save-button{position:relative;z-index:1;min-height:52px;border:1px solid #17210d;background:linear-gradient(rgba(89,125,43,.88),rgba(89,125,43,.88)),url("texturas do site/textura-base-janelas-couro-verde.png") center/180px repeat;color:#f1e8ce;font:500 .95rem var(--runas-display-font,Arial)}
@media(max-width:1050px){.finance-toolbar{grid-template-columns:1fr 1fr 1fr}.finance-add-button,.finance-period{grid-column:auto}.finance-ledger-head{display:none}.finance-row{grid-template-columns:150px 115px minmax(210px,1fr) 145px 25px;padding:8px 10px}.finance-value strong{font-size:1rem}.finance-details{margin:2px 10px 10px}}
@media(max-width:720px){.finance-panel{padding:80px 8px 32px}.finance-branding{left:10px;transform:scale(.58)}.finance-back{right:2px!important;transform:scale(.72);transform-origin:right top}.finance-title{font-size:1.75rem}.finance-toolbar{grid-template-columns:1fr}.finance-summary,.finance-add-button,.finance-period{min-height:60px}.finance-ledger{overflow:hidden}.finance-row{grid-template-columns:110px 82px minmax(0,1fr) 105px 18px;gap:5px;padding:7px 5px;min-height:56px}.finance-value{gap:4px}.finance-value i{font-size:1.1rem}.finance-value strong{font-size:.75rem}.finance-row time{font-size:.58rem}.finance-description{grid-template-columns:25px minmax(0,1fr) auto;gap:4px}.finance-type-icon{width:23px;height:23px;font-size:.75rem}.finance-description b{font-size:.65rem}.finance-description small{font-size:.52rem}.finance-running-balance{font-size:.68rem}.finance-details{grid-template-columns:1fr;margin:2px 4px 8px}.finance-details footer{grid-column:1}.finance-sub-row{grid-template-columns:minmax(0,1fr) 76px 55px;font-size:.58rem}.finance-pagination span{display:none}.finance-pagination{justify-content:center}}
.admin-payment-time{display:block;margin-top:3px;color:#8e8a81;font:italic .58rem/1.2 Arial,sans-serif;white-space:nowrap}

/* =========================================================
   PADRÃO VISUAL GLOBAL RUNAS — CABEÇALHO, COURO E MARCA D'ÁGUA
   ========================================================= */
:root{
  --runas-black-leather:url("texturas do site/textura-base-janelas-couro-preto.png");
  --runas-yellow-leather:url("texturas do site/textura-base-janelas-couro-amarelo.png");
  --runas-green-leather:url("texturas do site/textura-base-janelas-couro-verde.png");
}

html,
body,
body.subpage-body,
.athlete-shell,
.subpage-shell,
.subpage-main{
  background-color:#090909 !important;
  background-image:linear-gradient(rgba(5,5,5,.12),rgba(5,5,5,.12)),var(--runas-black-leather) !important;
  background-size:auto,430px 430px !important;
  background-repeat:repeat !important;
}

/* Logo triangular central encostada no topo, sem invadir o quadro inferior. */
.athlete-top-logo{
  position:absolute !important;
  top:2px !important;
  left:50% !important;
  width:clamp(58px,5.3vw,78px) !important;
  height:auto !important;
  transform:translateX(-50%) !important;
  z-index:30 !important;
  filter:none !important;
}

/* Marca Runas Vôlei fora da moldura, no extremo superior esquerdo. */
.tribe-branding,
.manage-lists-branding,
.team-generator-branding,
.voting-branding,
.finance-branding,
.live-match-branding,
.ranking-branding{
  position:absolute !important;
  top:12px !important;
  left:10px !important;
  z-index:31 !important;
  transform:scale(.72) !important;
  transform-origin:left top !important;
  padding:4px 12px 5px 3px !important;
  background:linear-gradient(rgba(7,7,7,.72),rgba(7,7,7,.72)),var(--runas-black-leather) !important;
  background-size:auto,430px 430px !important;
  border-radius:0 0 8px 0;
}

/* A moldura principal começa abaixo das duas marcas. */
.athlete-card-frame,
.manage-lists-panel .athlete-card-frame,
.member-lists-panel .athlete-card-frame,
.admin-edit-list-panel .athlete-card-frame,
.manage-users-panel .athlete-card-frame,
.monthly-panel .athlete-card-frame,
.team-generator-panel .athlete-card-frame,
.voting-panel .athlete-card-frame,
.finance-panel .athlete-card-frame,
.live-match-panel .athlete-card-frame,
.ranking-panel .athlete-card-frame{
  top:66px !important;
}

/* Recorta a faixa de runas antes da marca esquerda e antes do triângulo central. */
.athlete-runes-top{
  top:7px !important;
  left:0 !important;
  right:0 !important;
  padding-left:205px;
  -webkit-mask-image:linear-gradient(to right,
    transparent 0 202px,
    #000 214px calc(50% - 54px),
    transparent calc(50% - 44px) calc(50% + 44px),
    #000 calc(50% + 54px) 100%);
  mask-image:linear-gradient(to right,
    transparent 0 202px,
    #000 214px calc(50% - 54px),
    transparent calc(50% - 44px) calc(50% + 44px),
    #000 calc(50% + 54px) 100%);
}

.athlete-shell::before{
  top:34px !important;
  left:0 !important;
  right:0 !important;
  background:linear-gradient(to right,
    transparent 0 202px,
    rgba(243,179,0,.25) 214px calc(50% - 54px),
    transparent calc(50% - 44px) calc(50% + 44px),
    rgba(243,179,0,.25) calc(50% + 54px) calc(100% - 20px),
    transparent 100%) !important;
}

/* Todos os títulos ficam rigorosamente centrados sob o triângulo. */
.manage-lists-heading-row,
.manage-carousel-heading,
.manage-users-heading,
.monthly-heading,
.admin-edit-heading,
.ranking-hero-title-row{
  position:relative !important;
  justify-content:center !important;
}
.manage-lists-title,
.manage-users-title,
.monthly-title,
.admin-edit-title,
.team-generator-title,
.member-lists-title,
.games-title,
.live-match-title,
.finance-title,
.voting-title,
.ranking-hero-title-copy{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  justify-content:center !important;
}
.manage-list-header-tools,
.manage-users-create,
.monthly-create-button{
  position:absolute !important;
  right:0 !important;
}

/* Nenhum painel ou campo escuro usa preto chapado. */
.athlete-panel,
.auth-card,
.create-list-dialog,
.monthly-modal-card,
.team-origin-dialog,
.substitute-dialog,
.vote-modal-card,
.finance-modal-card,
.voting-team-panel,
.voting-summary-panel,
.finance-ledger,
.finance-toolbar,
.game-card,
.team-radar,
.ranking-right,
input,
select,
textarea{
  background-color:#090909 !important;
  background-image:linear-gradient(rgba(2,2,2,.32),rgba(2,2,2,.32)),var(--runas-black-leather) !important;
  background-size:auto,430px 430px !important;
  background-repeat:repeat !important;
}

/* Pop-ups usam o mesmo couro, porém escurecido. */
.auth-card,
.create-list-dialog,
.monthly-modal-card,
.team-origin-dialog,
.substitute-dialog,
.vote-modal-card,
.finance-modal-card,
.live-modal-card,
.position-modal-card,
.point-modal-card{
  background-image:linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.58)),var(--runas-black-leather) !important;
}

/* Controles neutros: couro amarelo. */
.athlete-action,
.auth-action-reference,
.auth-guest-reference,
.profile-save-button,
.secondary-button,
.manage-create-icon-button,
.manage-archive-eye,
.team-generator-main-button,
.create-list-save,
.finance-add-button,
.finance-pagination button,
.voting-analytics-button,
.game-set-summary,
.completed-set-summary,
.live-match-main-button{
  background-color:#d0921c !important;
  background-image:linear-gradient(rgba(208,146,28,.74),rgba(208,146,28,.74)),var(--runas-yellow-leather) !important;
  background-size:auto,190px 190px !important;
  color:#151009 !important;
}

/* Ações positivas: couro verde natural. */
.profile-save-button,
.create-list-save,
.vote-save-button,
.finance-save-button,
.voting-player-card button:not(:disabled),
.confirm-players-button,
.confirm-substitute-button,
.score-action-normal,
.live-match-save-game{
  background-color:#5f7f35 !important;
  background-image:linear-gradient(rgba(79,111,43,.72),rgba(79,111,43,.72)),var(--runas-green-leather) !important;
  background-size:auto,190px 190px !important;
  color:#f3ead8 !important;
}

/* Marca d'água maior e realmente visível. */
.athlete-panel::before{
  left:clamp(-72px,-3vw,-28px) !important;
  bottom:clamp(6px,1.5vh,18px) !important;
  top:auto !important;
  width:min(49vw,650px) !important;
  opacity:.35 !important;
  background:url("images/logo-grupo-runas-topo.png") center/contain no-repeat !important;
  filter:grayscale(1) brightness(1.7) opacity(.78) !important;
}

/* Páginas administrativas recebem a marca d'água amarela. */
body.role-admin .athlete-panel::before,
body.manage-lists-page .athlete-panel::before,
body.admin-edit-list-page .athlete-panel::before,
body.manage-users-page .athlete-panel::before,
body.monthly-page .athlete-panel::before,
body.team-generator-page .athlete-panel::before,
body.manage-matches-page .athlete-panel::before,
body.games-page .athlete-panel::before,
body.finance-page .athlete-panel::before{
  filter:none !important;
  opacity:.35 !important;
}

/* Coroa integrada à moldura circular do avatar do ADM. */
body.role-admin .avatar-block::before{
  content:"";
  position:absolute;
  z-index:12;
  left:50%;
  top:clamp(-31px,-2.1vw,-20px);
  width:clamp(78px,7vw,112px);
  height:clamp(42px,3.8vw,62px);
  transform:translateX(-50%);
  clip-path:polygon(4% 92%,12% 28%,34% 62%,50% 4%,66% 62%,88% 28%,96% 92%);
  background:linear-gradient(rgba(213,151,29,.72),rgba(213,151,29,.72)),var(--runas-yellow-leather);
  background-size:auto,150px 150px;
  border-bottom:3px solid #17110a;
  filter:drop-shadow(0 2px 0 #d89b20);
  pointer-events:none;
}
body.role-admin .avatar-block::after{
  content:"ᚱ ᚢ ᚾ";
  position:absolute;
  z-index:13;
  left:50%;
  top:clamp(-10px,-.6vw,-4px);
  transform:translateX(-50%);
  color:#17110a;
  font:700 clamp(.55rem,.7vw,.78rem)/1 Arial,sans-serif;
  letter-spacing:.18em;
  white-space:nowrap;
  pointer-events:none;
}

@media(max-width:820px){
  .athlete-top-logo{top:2px !important;width:54px !important}
  .tribe-branding,
  .manage-lists-branding,
  .team-generator-branding,
  .voting-branding,
  .finance-branding,
  .live-match-branding,
  .ranking-branding{
    top:9px !important;
    left:4px !important;
    transform:scale(.54) !important;
  }
  .athlete-runes-top{
    padding-left:128px;
    -webkit-mask-image:linear-gradient(to right,transparent 0 122px,#000 132px calc(50% - 40px),transparent calc(50% - 32px) calc(50% + 32px),#000 calc(50% + 40px) 100%);
    mask-image:linear-gradient(to right,transparent 0 122px,#000 132px calc(50% - 40px),transparent calc(50% - 32px) calc(50% + 32px),#000 calc(50% + 40px) 100%);
  }
  .athlete-shell::before{
    background:linear-gradient(to right,transparent 0 122px,rgba(243,179,0,.25) 132px calc(50% - 40px),transparent calc(50% - 32px) calc(50% + 32px),rgba(243,179,0,.25) calc(50% + 40px) calc(100% - 8px),transparent 100%) !important;
  }
  .athlete-card-frame{top:56px !important}
  .athlete-panel::before{width:78vw !important;left:-23vw !important;opacity:.35 !important}
  .manage-list-header-tools,
  .manage-users-create,
  .monthly-create-button{right:4px !important}
  body.role-admin .avatar-block::before{top:-20px;width:76px;height:42px}
  body.role-admin .avatar-block::after{top:-4px;font-size:.52rem}
}

/* Caixa por função */
.finance-member-page .finance-toolbar{grid-template-columns:minmax(180px,1fr) repeat(3,minmax(180px,1fr));}
.finance-admin-page .finance-toolbar{grid-template-columns:minmax(220px,1.25fr) minmax(180px,.9fr) repeat(3,minmax(180px,1fr));}
@media(max-width:900px){.finance-member-page .finance-toolbar,.finance-admin-page .finance-toolbar{grid-template-columns:1fr;}}

/* Ícones oficiais das habilidades na votação */
.vote-rating-label img{
  width:19px;
  height:19px;
  object-fit:contain;
  flex:0 0 19px;
  display:block;
}
@media(max-width:850px){
  .vote-rating-label img{width:16px;height:16px;flex-basis:16px}
}
