:root{
  --bg:#000;
  --panel:#080b08;
  --panel2:#0d110d;
  --line:#243315;
  --lime:#bbff23;
  --lime2:#e2ff66;
  --text:#f5f5ef;
  --muted:#9aa193;
  --top:#101b0b;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#000;color:var(--text);font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
a{text-decoration:none;color:inherit}button{font:inherit;cursor:pointer}img{max-width:100%}
body::before{content:"";position:fixed;inset:0;z-index:-3;background:radial-gradient(circle at 50% 0,rgba(187,255,35,.09),transparent 380px),#000}
.page-noise{position:fixed;inset:0;z-index:-2;pointer-events:none;opacity:.1;background-image:radial-gradient(#fff 1px, transparent 1px);background-size:3px 3px}
.main-width{width:1216px;max-width:calc(100vw - 24px);margin:0 auto}
.topbar{height:31px;background:var(--top);position:sticky;top:0;z-index:20}
.topbar-inner{height:31px;display:flex;align-items:center;justify-content:space-between;gap:15px}
.topbar nav{display:flex;gap:24px;align-items:center;font-size:13px;white-space:nowrap}
.topbar nav a{color:#fff}
.top-actions{display:flex;gap:10px;align-items:center}
.top-actions input{height:28px;background:#26313c;border:1px solid rgba(255,255,255,.15);color:#fff;padding:0 10px;width:170px}
.admin-button,.neon{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--lime);background:linear-gradient(180deg,rgba(187,255,35,.17),rgba(187,255,35,.04));color:#f2ffb7;font-weight:900;text-transform:uppercase;padding:10px 16px;min-height:36px}
.admin-button{height:28px;min-height:28px;padding:0 14px;font-size:12px}
.dark-button{border:1px solid var(--line);background:#050705;color:#f5f5ef;font-weight:800;text-transform:uppercase;padding:9px 12px}
.full{width:100%}
.site{padding-bottom:30px}
.brand-row{height:92px;display:grid;grid-template-columns:160px 1fr;gap:25px;align-items:center}
.brand img{height:60px;object-fit:contain}
.ad-slot{display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;position:relative;color:var(--lime);border:1px solid rgba(187,255,35,.18);background:linear-gradient(180deg,rgba(187,255,35,.05),rgba(0,0,0,.4));font-weight:800}
.ad-slot img{width:100%;height:100%;object-fit:cover;display:block}
.ad-slot.contain img{object-fit:contain;background:#020402}
.top-ad{height:58px}
.ad-wall{position:fixed;top:90px;width:180px;height:590px;z-index:1;display:flex}
.ad-wall-left{right:calc(50% + 640px)}
.ad-wall-right{left:calc(50% + 640px)}
.vertical-ad{width:100%;height:100%;padding:18px;flex-direction:column;gap:15px}
.vertical-ad span{text-transform:uppercase;font-size:20px;line-height:1.05}
.vertical-ad small{color:#dbe0d4;font-weight:400;font-size:14px}
.vertical-ad b{border:1px solid var(--lime);padding:10px 18px;color:#f6ffbb;text-transform:uppercase}
.layout{display:grid;grid-template-columns:226px 1fr 285px;gap:14px;align-items:start;position:relative;z-index:2}
.left-col,.center-col,.right-col{display:flex;flex-direction:column;gap:14px}
.card{background:linear-gradient(180deg,#090d09,#050705);border:1px solid var(--line);padding:12px;box-shadow:0 0 0 1px rgba(187,255,35,.04) inset}
.card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:12px}
.card-head h3{margin:0;text-transform:uppercase;font-size:15px;line-height:1.05}
.card-head button,.card-head a{border:0;background:transparent;color:var(--lime);font-weight:900;text-transform:uppercase;font-size:12px;padding:0}
.eyebrow{text-transform:uppercase;color:#cbd2c2;margin:0 0 10px;font-size:12px;letter-spacing:.04em}
.next-img{height:120px;width:100%;object-fit:cover;border:1px solid var(--line);background:#000}
.next-card h2{text-align:center;text-transform:uppercase;font-size:18px;margin:10px 0 5px}
.next-card p:not(.eyebrow){text-align:center;color:#c8cfc4;margin:0 0 12px}
.timer{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0 12px}
.timer div{border:1px solid var(--line);height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#050805}
.timer b{font-size:18px}.timer span{font-size:10px;color:#d6d9d2;text-transform:uppercase}
.ranking{list-style:none;margin:0;padding:0}
.ranking li{display:grid;grid-template-columns:22px 1fr auto;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid #151d12}
.ranking li b{color:var(--lime)}.ranking li strong{color:var(--lime)}
.official-sponsors{display:grid;gap:10px;margin:8px 0 14px}
.official-sponsors a,.official-sponsors div{min-height:55px;border:1px solid #151d12;display:flex;align-items:center;justify-content:center;color:#e8ece4;font-size:20px;font-weight:900;text-align:center;overflow:hidden}
.official-sponsors img{width:100%;height:70px;object-fit:contain;padding:8px;background:#050705}
.hero{background:#060806;border:1px solid var(--line);position:relative}
.hero-image-link{display:block;height:410px;overflow:hidden;background:#000}
.hero-image-link img{width:100%;height:100%;display:block;object-fit:cover}
.hero-controls{height:42px;display:flex;align-items:center;justify-content:center;gap:18px;border-top:1px solid var(--line);background:#050705}
.hero-controls button{width:34px;height:30px;border:1px solid var(--line);background:#080b08;color:var(--lime);font-size:22px}
.dots{display:flex;gap:8px}.dots button{width:10px;height:10px;border-radius:50%;padding:0;min-height:0;border:0;background:#5f6657}.dots button.active{background:var(--lime)}
.news-list{display:grid;gap:0}
.news-item{display:grid;grid-template-columns:170px 1fr 40px;gap:14px;padding:0 0 12px;margin-bottom:12px;border-bottom:1px solid #151d12}
.news-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.news-item img{width:170px;height:95px;object-fit:cover;border:1px solid var(--line);background:#000}
.news-item small{color:var(--lime);font-weight:900}.news-item h4{margin:5px 0;font-size:16px}.news-item p{margin:0;color:#aab1a4;line-height:1.35}
.news-count{color:#9aa193;text-align:right}
.event-item{display:grid;grid-template-columns:170px 55px 1fr 120px;gap:14px;align-items:center;border-bottom:1px solid #151d12;padding:0 0 12px;margin-bottom:12px}
.event-item:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.event-item img{width:170px;height:72px;object-fit:cover;border:1px solid var(--line);background:#000}
.datebox{color:var(--lime);font-weight:900;text-align:center}.datebox b{display:block;font-size:24px}.datebox span{font-size:11px;text-transform:uppercase}
.event-info h4{margin:0 0 4px;text-transform:uppercase}.event-info p{margin:0;color:#aeb5aa}
.status{border:1px solid var(--line);height:36px;display:flex;align-items:center;justify-content:center;text-transform:uppercase;font-size:11px;font-weight:900;color:#f4ffbf}
.match{border-bottom:1px solid #151d12;padding:0 0 13px;margin-bottom:13px}
.match:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}
.match-top{font-size:12px;margin-bottom:8px;color:#dce2d6}
.match-line{display:flex;justify-content:space-between;font-weight:900;padding:7px 0}.match-line strong{color:var(--lime);font-size:18px}
.match-foot{display:flex;gap:10px;align-items:center;margin-top:6px}.live-tag{background:#c51f1f;color:#fff;font-weight:900;font-size:11px;padding:6px 8px}.match-foot button{margin-left:auto;border:1px solid var(--lime);background:transparent;color:#efffb8;font-weight:900;padding:8px 12px}
.result{display:grid;grid-template-columns:1fr 35px;border-bottom:1px solid #151d12;padding:0 0 12px;margin-bottom:12px}
.result:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0}.result b{display:block;margin-bottom:5px}.result span{display:block;color:#d2d7cc}.score{text-align:right;color:var(--lime);font-weight:900}
.activity-row{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #151d12;padding:10px 0}.activity-row:last-child{border-bottom:0}.activity-row b{font-size:13px}.activity-row span{color:var(--lime);font-weight:900}
.athlete-cta{border:1px solid var(--line);background:#060806;padding:0 0 12px;display:grid;justify-items:center}.athlete-cta img{width:100%;display:block;object-fit:cover}
.features{display:grid;grid-template-columns:repeat(5,1fr);margin-top:14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#070a07}
.features div{padding:18px;border-right:1px solid #151d12}.features div:last-child{border-right:0}.features b{display:block;text-transform:uppercase}.features span{display:block;color:#9ea792;margin-top:5px;font-size:12px}
.athletes-card{margin-top:14px}.athlete-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.athlete-card{border:1px solid #151d12;padding:12px;background:#050705}.athlete-card img{width:52px;height:52px;object-fit:cover;border-radius:50%;background:#111}.athlete-card b{display:block;margin-top:8px}.athlete-card span{color:var(--lime);font-weight:900}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.gallery a{height:110px;border:1px solid var(--line);overflow:hidden;background:#050705}.gallery img{width:100%;height:100%;object-fit:cover}
.footer{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:25px;border-top:1px solid var(--line);margin-top:14px;padding:25px 0}.footer img{width:120px}.footer p,.footer a{display:block;color:#aeb5aa;margin:0 0 8px}.footer h4{text-transform:uppercase;margin:0 0 10px}.socials{display:flex;gap:8px}.socials button{background:#050705;border:1px solid var(--line);color:#fff;padding:10px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:100;display:flex;align-items:center;justify-content:center;padding:20px}.modal[hidden]{display:none}.modal-box{width:min(620px,100%);background:#070a07;border:1px solid var(--lime);padding:22px;position:relative}.modal-close{position:absolute;right:10px;top:10px;background:transparent;border:0;color:#fff;font-size:30px}
.admin-page{background:#000}.admin-shell{width:min(1180px,calc(100vw - 24px));margin:0 auto;padding:25px 0}.admin-header{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid var(--line);padding:18px;background:#070a07;margin-bottom:14px}.admin-header h1{margin:0;color:var(--lime)}.admin-header p{margin:6px 0 0;color:#aeb5aa}.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.admin-tabs button{border:1px solid var(--line);background:#070a07;color:#fff;padding:12px 14px;font-weight:800}.admin-tabs button.active{border-color:var(--lime);color:var(--lime)}.admin-tab{display:none}.admin-tab.active{display:grid;grid-template-columns:360px 1fr;gap:16px;align-items:start}.admin-form{border:1px solid var(--line);background:#070a07;padding:16px;display:grid;gap:12px}.admin-form h2{margin:0;color:var(--lime)}.admin-form label{display:grid;gap:6px;font-weight:800}.admin-form input,.admin-form textarea,.admin-form select{background:#020402;border:1px solid #1d2812;color:#fff;padding:10px;width:100%}.admin-form textarea{min-height:90px}.form-help{border:1px solid var(--line);padding:12px;background:#070a07;color:#d7ded0;margin-bottom:12px}.admin-list{display:grid;gap:10px}.admin-row{border:1px solid var(--line);background:#070a07;padding:10px;display:grid;grid-template-columns:100px 1fr auto;gap:12px;align-items:center}.admin-row img{width:100px;height:70px;object-fit:contain;background:#000;border:1px solid #18230f}.admin-row h4{margin:0 0 4px}.admin-row p{margin:0;color:#aeb5aa}.admin-row-actions{display:flex;gap:8px}.admin-row-actions button{border:1px solid var(--line);background:#050705;color:#fff;padding:8px}.admin-row-actions .edit{color:var(--lime)}.admin-row-actions .del{color:#ff7777}
@media(max-width:1500px){.ad-wall{display:none}.layout{grid-template-columns:226px minmax(0,1fr) 285px}.main-width{width:1000px}.hero-image-link{height:330px}}
@media(max-width:1050px){.layout{grid-template-columns:1fr}.brand-row{grid-template-columns:1fr}.features,.footer,.athlete-grid{grid-template-columns:1fr 1fr}.topbar{height:auto}.topbar-inner{height:auto;padding:8px 0;flex-wrap:wrap}.topbar nav{flex-wrap:wrap;gap:12px}.admin-tab.active{grid-template-columns:1fr}}
@media(max-width:650px){.news-item,.event-item{grid-template-columns:1fr}.news-item img,.event-item img{width:100%;height:auto}.features,.footer,.athlete-grid,.gallery{grid-template-columns:1fr}}


/* Ajustes finais para manter imagens reais sem deslocamento */
.brand img{height:58px;width:auto;object-fit:contain}
.hero-image-link img{object-fit:cover;object-position:center}
.next-img{object-fit:cover;object-position:center}
.news-item img{object-fit:cover;object-position:center}
.event-item img{object-fit:cover;object-position:center}
.athlete-cta img{object-fit:cover;object-position:center}
.ad-slot img{object-fit:contain;background:#020402;padding:0}
.vertical-ad img{object-fit:contain;padding:10px}
.top-ad img{object-fit:contain;padding:6px}

/* ===== CORREÇÃO FINAL: ANÚNCIOS LATERAIS EM TELA INTEIRA ===== */
.ad-wall{
  position: fixed !important;
  top: 31px !important;
  bottom: 0 !important;
  height: auto !important;
  width: calc((100vw - 1216px) / 2) !important;
  min-width: 180px !important;
  max-width: 330px !important;
  z-index: 0 !important;
  display: flex !important;
  padding: 18px 18px 24px !important;
  pointer-events: none;
}
.ad-wall-left{
  left: 0 !important;
  right: auto !important;
}
.ad-wall-right{
  right: 0 !important;
  left: auto !important;
}
.vertical-ad{
  width: 100% !important;
  height: 100% !important;
  min-height: calc(100vh - 55px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  border:1px solid rgba(187,255,35,.18) !important;
  background:
    radial-gradient(circle at 50% 18%, rgba(187,255,35,.16), transparent 220px),
    linear-gradient(180deg, rgba(187,255,35,.05), rgba(0,0,0,.75)) !important;
  pointer-events: auto;
}
.vertical-ad img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  padding: 0 !important;
  background: #000 !important;
}
.vertical-ad.contain img{
  object-fit: cover !important;
}
.ad-slot.vertical-ad span{
  max-width: 90%;
  text-align: center;
}
.site,.topbar,.main-width{
  position: relative;
  z-index: 2;
}
@media(max-width: 1500px){
  .ad-wall{display:none !important;}
}


/* CORREÇÃO FINAL: anúncios laterais sem corte */
.ad-wall{
  position: fixed !important;
  top: 36px !important;
  bottom: 0 !important;
  height: auto !important;
  width: 300px !important;
  z-index: 1 !important;
  pointer-events: auto !important;
}

.ad-wall-left{
  right: calc(50% + 620px) !important;
}

.ad-wall-right{
  left: calc(50% + 620px) !important;
}

.vertical-ad,
.ad-wall .ad-slot{
  width: 100% !important;
  height: 100% !important;
  padding: 0 !important;
  border:1px solid rgba(187,255,35,.18) !important;
  background: #020402 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.vertical-ad img,
.ad-wall .ad-slot img{
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  display: block !important;
  padding: 0 !important;
  background: #020402 !important;
}

/* Quando não tiver imagem, o placeholder ocupa a lateral toda */
.ad-wall .ad-slot:not(:has(img)){
  padding: 24px !important;
  flex-direction: column !important;
  gap: 15px !important;
}

/* Mantém o conteúdo central acima do fundo/anúncios */
.site,
.topbar,
.main-width,
.layout{
  position: relative;
  z-index: 2;
}

/* Em telas menores, esconde laterais para não quebrar */
@media(max-width:1500px){
  .ad-wall{
    display:none !important;
  }
}


/* =========================================================
   SKIN DE ANÚNCIO LATERAL ESTILO HLTV
   - fica colado no conteúdo central
   - ocupa a lateral inteira visível
   - imagem preenche a área como campanha/publicidade
   - não empurra o layout
   ========================================================= */

:root{
  --content-width: 1216px;
  --skin-gap: 0px;
  --topbar-height: 31px;
}

/* O site central continua fixo no meio */
.main-width{
  width: var(--content-width) !important;
  max-width: var(--content-width) !important;
}

/* Laterais viram SKIN da página, igual HLTV */
.ad-wall{
  position: fixed !important;
  top: var(--topbar-height) !important;
  bottom: 0 !important;
  height: auto !important;
  width: calc((100vw - var(--content-width)) / 2) !important;
  min-width: 0 !important;
  max-width: none !important;
  z-index: 0 !important;
  display: block !important;
  pointer-events: auto !important;
  overflow: hidden !important;
  background: #000 !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Esquerda encosta no início do conteúdo */
.ad-wall-left{
  left: 0 !important;
  right: auto !important;
}

/* Direita encosta no fim do conteúdo */
.ad-wall-right{
  right: 0 !important;
  left: auto !important;
}

/* O link do anúncio ocupa 100% da skin */
.ad-wall .ad-slot,
.ad-wall .vertical-ad{
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  background: #000 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  overflow: hidden !important;
}

/* Imagem no estilo HLTV: preenche a lateral inteira */
.ad-wall .ad-slot img,
.ad-wall .vertical-ad img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #000 !important;
}

/* Placeholder quando não houver imagem */
.ad-wall .ad-slot:not(:has(img)),
.ad-wall .vertical-ad:not(:has(img)){
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
  text-align: center !important;
  gap: 16px !important;
  padding: 24px !important;
  border-left:1px solid rgba(187,255,35,.12) !important;
  border-right:1px solid rgba(187,255,35,.12) !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(187,255,35,.10), transparent 240px),
    #020402 !important;
}

.ad-wall .ad-slot:not(:has(img)) span,
.ad-wall .vertical-ad:not(:has(img)) span{
  color: var(--lime) !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  line-height: 1.05 !important;
}

.ad-wall .ad-slot:not(:has(img)) small,
.ad-wall .vertical-ad:not(:has(img)) small{
  color: #dce2d7 !important;
  font-size: 14px !important;
}

.ad-wall .ad-slot:not(:has(img)) b,
.ad-wall .vertical-ad:not(:has(img)) b{
  border: 1px solid var(--lime) !important;
  padding: 10px 22px !important;
  color: #f2ffb7 !important;
  text-transform: uppercase !important;
}

/* Conteúdo fica acima das laterais */
.topbar{
  z-index: 20 !important;
}

.site,
.main-width,
.layout,
.brand-row{
  position: relative !important;
  z-index: 2 !important;
}

/* No topo, o anúncio superior continua dentro do conteúdo */
.top-ad{
  height: 58px !important;
  border:1px solid rgba(187,255,35,.18) !important;
  background: linear-gradient(180deg,rgba(187,255,35,.05),rgba(0,0,0,.40)) !important;
}

.top-ad img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* Para telas menores, remove skin lateral para não quebrar */
@media(max-width: 1500px){
  :root{
    --content-width: 1100px;
  }
  .main-width{
    width: var(--content-width) !important;
    max-width: calc(100vw - 24px) !important;
  }
  .ad-wall{
    display: none !important;
  }
}

@media(min-width: 1501px){
  body{
    min-width: var(--content-width) !important;
  }
}


/* LOGO D20 OFICIAL - imagem enviada pelo cliente */
.brand img,
.brand-box img,
.footer img,
.footer-branding img{
  object-fit: contain !important;
  object-position: center !important;
  width: auto !important;
  height: 58px !important;
  max-width: 180px !important;
  display: block !important;
  background: transparent !important;
}

.footer img,
.footer-branding img{
  height: 52px !important;
  max-width: 170px !important;
}

/* Remove qualquer marca textual antiga quando existir */
.brand-text,
.brand-mark{
  display: none !important;
}


/* Aplicação global da logo oficial D20 */
.brand img,
.footer img,
.footer-branding img,
.admin-logo,
.logo-oficial{
  content: none;
  object-fit: contain !important;
  object-position: center !important;
  height: 64px !important;
  width: auto !important;
  max-width: 220px !important;
  background: transparent !important;
}
.footer img,.footer-branding img{height:58px !important;max-width:210px !important;}
.next-img{object-fit:cover !important;object-position:center !important;}
.hero-image-link img{object-fit:cover !important;object-position:center !important;}
.athlete-card img[src*="logo-d20-oficial"]{object-fit:contain !important;padding:6px;background:#000;}


/* FOTOS NOVAS D20 - encaixe correto */
.hero-image-link{
  height: 410px !important;
  background:#000 !important;
}
.hero-image-link img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.next-img{
  height:220px !important;
  object-fit:cover !important;
  object-position:center top !important;
  background:#000 !important;
}

.news-item img{
  width:170px !important;
  height:95px !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.event-item img{
  width:170px !important;
  height:72px !important;
  object-fit:cover !important;
  object-position:center center !important;
}

.athlete-cta img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:cover !important;
}

@media(max-width:1050px){
  .hero-image-link{height:300px !important}
  .next-img{height:auto !important}
}


/* =========================================================
   AJUSTE FINAL DE ORGANIZAÇÃO / DIMENSÕES
   Esta camada corrige proporções, espaçamentos e imagens.
   ========================================================= */

:root{
  --content-width: 1180px !important;
  --gap: 14px !important;
  --left-col: 230px !important;
  --right-col: 285px !important;
  --topbar-height: 34px !important;
}

/* Base geral */
body{
  background:#000 !important;
  color:#f6f6f0 !important;
}

.main-width{
  width: var(--content-width) !important;
  max-width: calc(100vw - 24px) !important;
  margin: 0 auto !important;
}

/* Topo */
.topbar{
  height: var(--topbar-height) !important;
  min-height: var(--topbar-height) !important;
}

.topbar-inner{
  height: var(--topbar-height) !important;
}

.topbar nav{
  gap: 18px !important;
  font-size: 12px !important;
}

.top-actions input{
  width: 160px !important;
  height: 28px !important;
}

.admin-button{
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 13px !important;
}

/* Linha logo + anúncio superior */
.brand-row{
  height: 86px !important;
  grid-template-columns: 160px 1fr !important;
  gap: 18px !important;
  align-items:center !important;
}

.brand img{
  height: 56px !important;
  width: 150px !important;
  max-width: 150px !important;
  object-fit: contain !important;
}

.top-ad{
  width: 100% !important;
  height: 58px !important;
  border:1px solid rgba(187,255,35,.18) !important;
}

.top-ad img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

/* Layout principal */
.layout{
  display:grid !important;
  grid-template-columns: var(--left-col) minmax(0, 1fr) var(--right-col) !important;
  gap: var(--gap) !important;
  align-items:start !important;
}

.left-col,
.center-col,
.right-col{
  gap: 14px !important;
}

.card{
  padding: 12px !important;
  border: 1px solid #263816 !important;
  background: linear-gradient(180deg,#080c08,#040604) !important;
}

.card-head{
  margin-bottom: 10px !important;
  align-items:center !important;
}

.card-head h3{
  font-size: 15px !important;
  line-height: 1.05 !important;
}

.card-head button,
.card-head a{
  font-size: 11px !important;
}

/* Banner principal */
.hero{
  width: 100% !important;
  overflow: hidden !important;
  border: 1px solid #263816 !important;
  background:#000 !important;
}

.hero-image-link{
  height: 365px !important;
  width: 100% !important;
  display:block !important;
  overflow:hidden !important;
  background:#000 !important;
}

.hero-image-link img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

.hero-controls{
  height: 38px !important;
  border-top: 1px solid #263816 !important;
}

.hero-controls button{
  width:32px !important;
  height:28px !important;
  line-height:1 !important;
}

.dots button{
  width:9px !important;
  height:9px !important;
}

/* Card próximo evento */
.next-card{
  overflow:hidden !important;
}

.next-img{
  width:100% !important;
  height: 245px !important;
  object-fit: cover !important;
  object-position: center top !important;
  border: 1px solid #263816 !important;
  background:#000 !important;
  display:block !important;
}

.next-card h2{
  font-size: 17px !important;
  line-height:1.1 !important;
  margin: 11px 0 6px !important;
}

.next-card p:not(.eyebrow){
  font-size: 13px !important;
  line-height:1.3 !important;
  margin-bottom:10px !important;
}

.timer{
  gap: 6px !important;
}

.timer div{
  height: 50px !important;
}

.timer b{
  font-size: 17px !important;
}

.timer span{
  font-size: 9px !important;
}

/* Notícias */
.news-list{
  gap: 0 !important;
}

.news-item{
  grid-template-columns: 180px 1fr 26px !important;
  gap: 13px !important;
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
  align-items:start !important;
}

.news-item img{
  width:180px !important;
  height:102px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border: 1px solid #263816 !important;
  background:#000 !important;
}

.news-item h4{
  font-size: 15px !important;
  line-height:1.25 !important;
  margin: 4px 0 5px !important;
}

.news-item p{
  font-size: 12px !important;
  line-height:1.35 !important;
}

.news-count{
  font-size: 12px !important;
}

/* Próximos campeonatos */
.event-list{
  display:grid !important;
  gap:0 !important;
}

.event-item{
  grid-template-columns: 180px 54px 1fr 128px !important;
  gap: 13px !important;
  min-height: 88px !important;
  padding-bottom: 12px !important;
  margin-bottom: 12px !important;
  align-items:center !important;
}

.event-item img{
  width:180px !important;
  height:76px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border: 1px solid #263816 !important;
  background:#000 !important;
  display:block !important;
}

.event-info h4{
  font-size: 15px !important;
  line-height:1.15 !important;
  margin-bottom:4px !important;
}

.event-info p{
  font-size: 12px !important;
  line-height:1.3 !important;
}

.status{
  width:128px !important;
  height:34px !important;
  font-size:10px !important;
  padding:0 6px !important;
  text-align:center !important;
}

/* Laterais direitas */
.match,
.result,
.activity-row{
  font-size: 12px !important;
}

.match-line{
  padding: 6px 0 !important;
}

.match-line strong{
  font-size: 17px !important;
}

.match-foot button{
  padding: 7px 10px !important;
  font-size: 11px !important;
}

/* Galeria */
.gallery{
  grid-template-columns: repeat(3, 1fr) !important;
  gap:10px !important;
}

.gallery a{
  height: 116px !important;
  border: 1px solid #263816 !important;
  background:#000 !important;
}

.gallery img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* CTA atleta */
.athlete-cta{
  overflow:hidden !important;
}

.athlete-cta img{
  width:100% !important;
  height:auto !important;
  display:block !important;
  object-fit:contain !important;
  background:#000 !important;
}

.athlete-cta .neon,
.athlete-cta button{
  margin: 12px !important;
  width: calc(100% - 24px) !important;
}

/* Atletas */
.athlete-grid{
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
}

.athlete-card{
  min-height: 132px !important;
}

.athlete-card img{
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
}

/* Footer */
.footer{
  grid-template-columns: 1.4fr 1fr 1fr 1fr !important;
  gap: 24px !important;
  padding-top: 24px !important;
}

.footer img{
  width:150px !important;
  height:auto !important;
  max-height:60px !important;
  object-fit:contain !important;
}

/* Anúncios laterais estilo HLTV */
.ad-wall{
  position: fixed !important;
  top: var(--topbar-height) !important;
  bottom: 0 !important;
  height: auto !important;
  width: calc((100vw - var(--content-width)) / 2) !important;
  min-width: 0 !important;
  z-index: 0 !important;
  overflow: hidden !important;
  background:#000 !important;
  display:block !important;
}

.ad-wall-left{
  left:0 !important;
  right:auto !important;
}

.ad-wall-right{
  right:0 !important;
  left:auto !important;
}

.ad-wall .ad-slot{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  padding:0 !important;
  border:0 !important;
  background:#000 !important;
  display:block !important;
}

.ad-wall .ad-slot img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:top center !important;
  padding:0 !important;
  display:block !important;
}

/* Placeholder lateral quando não houver anúncio */
.ad-wall .ad-slot:not(:has(img)){
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  padding:24px !important;
  text-align:center !important;
  border-left:1px solid rgba(187,255,35,.12) !important;
  border-right:1px solid rgba(187,255,35,.12) !important;
}

/* Responsivo */
@media(max-width:1500px){
  .ad-wall{
    display:none !important;
  }
  .main-width{
    max-width: calc(100vw - 24px) !important;
  }
}

@media(max-width:1100px){
  .layout{
    grid-template-columns: 1fr !important;
  }
  .brand-row{
    height:auto !important;
    grid-template-columns: 1fr !important;
    padding: 14px 0 !important;
  }
  .brand img{
    height:56px !important;
  }
  .hero-image-link{
    height:300px !important;
  }
  .news-item,
  .event-item{
    grid-template-columns: 1fr !important;
  }
  .news-item img,
  .event-item img{
    width:100% !important;
    height:auto !important;
  }
  .status{
    width:100% !important;
  }
  .athlete-grid,
  .gallery,
  .features,
  .footer{
    grid-template-columns: 1fr 1fr !important;
  }
}

@media(max-width:650px){
  .topbar{
    height:auto !important;
  }
  .topbar-inner{
    height:auto !important;
    padding:8px 0 !important;
    flex-wrap:wrap !important;
  }
  .topbar nav{
    flex-wrap:wrap !important;
    gap:10px !important;
  }
  .top-actions{
    width:100% !important;
  }
  .top-actions input{
    flex:1 !important;
  }
  .hero-image-link{
    height:220px !important;
  }
  .athlete-grid,
  .gallery,
  .features,
  .footer{
    grid-template-columns: 1fr !important;
  }
}


/* AJUSTE FINAL: TOPO VERDE + REMOÇÃO DE LINHAS PONTILHADAS */
:root{
  --top:#101b0b !important;
}

.topbar{
  background:
    linear-gradient(180deg, #17280d 0%, #101b0b 55%, #081004 100%) !important;
  border-bottom:1px solid rgba(187,255,35,.22) !important;
  box-shadow:0 0 18px rgba(187,255,35,.08) !important;
}

.topbar nav a{
  color:#edf5e8 !important;
}

.topbar nav a:hover{
  color:#bbff23 !important;
}

.top-actions input{
  background:#0b1608 !important;
  border:1px solid rgba(187,255,35,.25) !important;
  color:#f5ffe9 !important;
}

.top-actions input::placeholder{
  color:#aab5a2 !important;
}

.admin-button{
  background:linear-gradient(180deg, rgba(187,255,35,.18), rgba(187,255,35,.06)) !important;
  border:1px solid rgba(187,255,35,.55) !important;
  color:#f3ffc0 !important;
}

/* Remove qualquer pontilhado nos anúncios */
.ad-slot,
.top-ad,
.vertical-ad,
.ad-wall .ad-slot,
.ad-wall .vertical-ad{
  border-style:solid !important;
}

.top-ad{
  border:1px solid rgba(187,255,35,.16) !important;
  background:linear-gradient(180deg,rgba(187,255,35,.04),rgba(0,0,0,.35)) !important;
}

.ad-wall .ad-slot:not(:has(img)),
.ad-wall .vertical-ad:not(:has(img)){
  border-left:1px solid rgba(187,255,35,.10) !important;
  border-right:1px solid rgba(187,255,35,.10) !important;
}

.ad-wall .ad-slot,
.ad-wall .vertical-ad{
  outline:none !important;
}


/* =========================================================
   CORREÇÃO DAS LINHAS / FUNDO CENTRAL DO SITE
   - cria uma área central contínua
   - alinha as bordas esquerda/direita do portal
   - evita o pontilhado “vazando” atrás do conteúdo
   ========================================================= */

.site{
  position: relative !important;
  z-index: 2 !important;
  padding: 0 14px 30px 14px !important;
  background:
    linear-gradient(180deg, rgba(6,10,6,.98) 0%, rgba(3,5,3,.98) 100%) !important;
  border-left: 1px solid rgba(187,255,35,.10) !important;
  border-right: 1px solid rgba(187,255,35,.10) !important;
  box-shadow:
    0 0 0 1px rgba(187,255,35,.03) inset,
    0 0 40px rgba(0,0,0,.25) !important;
}

/* cria as linhas verticais contínuas no portal inteiro */
.site::before,
.site::after{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(187,255,35,.14);
  pointer-events:none;
  z-index:1;
}
.site::before{ left:0; }
.site::after{ right:0; }

/* mantém o conteúdo acima do fundo/base */
.brand-row,
.layout,
.features,
.athletes-card,
.footer{
  position: relative !important;
  z-index: 2 !important;
}

/* o miolo do site fica visualmente contínuo */
.brand-row{
  padding-top: 12px !important;
  margin-bottom: 0 !important;
}

.layout{
  padding-top: 6px !important;
}

.features{
  margin-top: 14px !important;
  background: rgba(7,10,7,.98) !important;
}

.athletes-card{
  margin-top: 12px !important;
}

.footer{
  margin-top: 14px !important;
  padding-bottom: 8px !important;
}

/* remove qualquer sensação de “quebra” no fundo */
body::before{
  opacity: .07 !important;
}

.page-noise{
  opacity: .06 !important;
}

/* telas menores */
@media(max-width:1100px){
  .site{
    padding: 0 10px 26px 10px !important;
  }
}


/* =========================================================
   ADMIN RESTRITO + ÁREA DO PARTICIPANTE
   ========================================================= */
.admin-login-screen{
  position:fixed;
  inset:0;
  z-index:9999;
  background:
    radial-gradient(circle at 50% 10%, rgba(187,255,35,.18), transparent 380px),
    rgba(0,0,0,.92);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}

.admin-login-card{
  width:min(430px,100%);
  background:linear-gradient(180deg,#091006,#020402);
  border:1px solid rgba(187,255,35,.38);
  box-shadow:0 0 45px rgba(187,255,35,.12);
  padding:26px;
  display:grid;
  gap:14px;
}

.admin-login-card img{
  width:170px;
  height:auto;
  object-fit:contain;
}

.admin-login-card h1{
  margin:0;
  color:#bbff23;
  text-transform:uppercase;
  font-size:25px;
}

.admin-login-card p,
.admin-login-card small{
  color:#c8d0c0;
}

.admin-login-card label{
  display:grid;
  gap:7px;
  color:#f3f8ed;
  font-weight:800;
}

.admin-login-card input{
  background:#020402;
  border:1px solid rgba(187,255,35,.24);
  color:#fff;
  padding:12px;
}

.admin-title-logo{
  display:flex;
  align-items:center;
  gap:18px;
}

.admin-logo{
  width:145px !important;
  height:auto !important;
  object-fit:contain !important;
}

.participant-page{
  background:#000;
}

.participant-shell{
  padding:22px 14px 40px;
  background:linear-gradient(180deg,rgba(6,10,6,.98),rgba(3,5,3,.98));
  border-left:1px solid rgba(187,255,35,.10);
  border-right:1px solid rgba(187,255,35,.10);
}

.participant-hero{
  display:grid;
  grid-template-columns:1fr 330px;
  gap:20px;
  align-items:center;
  border:1px solid rgba(187,255,35,.20);
  background:
    radial-gradient(circle at 70% 20%,rgba(187,255,35,.12),transparent 360px),
    linear-gradient(180deg,#071007,#030503);
  padding:24px;
  margin-bottom:16px;
}

.participant-hero > div > img{
  width:180px;
  height:auto;
  object-fit:contain;
  margin-bottom:12px;
}

.participant-hero h1{
  margin:0 0 8px;
  color:#f4f7ef;
  text-transform:uppercase;
  font-size:34px;
  line-height:1;
}

.participant-hero p{
  color:#c8d0c0;
  max-width:680px;
  font-size:15px;
  line-height:1.45;
}

.participant-hero > img{
  width:100%;
  border:1px solid rgba(187,255,35,.18);
}

.participant-actions{
  display:flex;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}

.participant-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:16px;
}

.participant-card{
  border:1px solid rgba(187,255,35,.18);
  background:linear-gradient(180deg,#080c08,#040604);
  padding:18px;
}

.participant-card h2{
  margin:0 0 8px;
  color:#bbff23;
  text-transform:uppercase;
}

.part-tab{
  display:none;
}

.part-tab.active{
  display:block;
}

.participant-form{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
}

.participant-form label{
  display:grid;
  gap:6px;
  font-weight:800;
  color:#f1f5ec;
}

.participant-form input,
.participant-form select,
.participant-form textarea{
  width:100%;
  background:#020402;
  border:1px solid rgba(187,255,35,.20);
  color:#fff;
  padding:11px;
}

.participant-form textarea{
  min-height:90px;
}

.participant-form label:last-of-type,
.participant-form .full,
.participant-form button.full{
  grid-column:1/-1;
}

.inline-form{
  grid-template-columns:1fr auto;
  align-items:end;
}

.participant-profile-empty{
  margin-top:16px;
  color:#c8d0c0;
}

.profile-card-full{
  margin-top:18px;
  border:1px solid rgba(187,255,35,.18);
  background:#030503;
  overflow:hidden;
}

.profile-cover{
  height:110px;
  background:
    linear-gradient(90deg,rgba(187,255,35,.25),transparent),
    url('d20-banner-principal-evento.png') center/cover;
  opacity:.9;
}

.profile-main{
  display:flex;
  gap:16px;
  align-items:center;
  padding:0 18px 18px;
  margin-top:-36px;
}

.profile-avatar{
  width:92px;
  height:92px;
  border-radius:50%;
  border:2px solid #bbff23;
  background:#000;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.profile-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.profile-main h2{
  margin:34px 0 4px;
  color:#fff;
}

.profile-main p{
  margin:0 0 8px;
  color:#c8d0c0;
}

.profile-status{
  display:inline-flex;
  border:1px solid rgba(187,255,35,.35);
  color:#bbff23;
  padding:5px 10px;
  text-transform:uppercase;
  font-size:12px;
  font-weight:900;
}

.stats-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:10px;
  padding:0 18px 18px;
}

.stats-grid div{
  border:1px solid rgba(187,255,35,.14);
  background:#070a07;
  padding:14px;
  text-align:center;
}

.stats-grid b{
  display:block;
  color:#bbff23;
  font-size:24px;
}

.stats-grid span{
  color:#c8d0c0;
  font-size:12px;
  text-transform:uppercase;
}

.profile-info-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  padding:0 18px 18px;
}

.profile-info-grid div{
  border:1px solid rgba(187,255,35,.12);
  padding:12px;
}

.profile-info-grid strong{
  display:block;
  color:#bbff23;
  text-transform:uppercase;
  font-size:11px;
  margin-bottom:5px;
}

.profile-info-grid span{
  color:#e8eee2;
}

.participant-gallery-head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:center;
  border-top:1px solid rgba(187,255,35,.14);
  padding:18px;
}

.participant-gallery-head h3{
  margin:0;
  color:#fff;
  text-transform:uppercase;
}

.photo-upload-form{
  display:flex;
  gap:8px;
  align-items:center;
}

.photo-upload-form input{
  background:#020402;
  border:1px solid rgba(187,255,35,.20);
  color:#fff;
  padding:9px;
}

.participant-gallery{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  padding:0 18px 18px;
}

.participant-photo{
  border:1px solid rgba(187,255,35,.14);
  background:#050705;
  overflow:hidden;
}

.participant-photo img{
  width:100%;
  height:135px;
  object-fit:cover;
  display:block;
}

.participant-photo span{
  display:block;
  padding:8px;
  color:#e8eee2;
  font-size:12px;
}

.empty-warning,
.muted-text{
  color:#c8d0c0;
}

@media(max-width:900px){
  .participant-hero{
    grid-template-columns:1fr;
  }
  .participant-form,
  .inline-form,
  .stats-grid,
  .profile-info-grid,
  .participant-gallery{
    grid-template-columns:1fr;
  }
  .participant-gallery-head,
  .photo-upload-form{
    display:grid;
    width:100%;
  }
}


/* =========================================================
   BLOCO DE CADASTRO NA TELA PRINCIPAL
   ========================================================= */
.home-register-section{
  display:grid;
  grid-template-columns:1fr 320px;
  gap:16px;
  margin-top:14px;
  padding:18px;
  border:1px solid rgba(187,255,35,.18);
  background:
    radial-gradient(circle at 78% 16%, rgba(187,255,35,.14), transparent 340px),
    linear-gradient(180deg,#071007,#030503);
  position:relative;
  z-index:2;
}

.section-kicker{
  display:inline-flex;
  color:#bbff23;
  text-transform:uppercase;
  font-weight:900;
  font-size:12px;
  letter-spacing:.08em;
  margin-bottom:8px;
}

.home-register-content h2{
  margin:0 0 8px;
  color:#fff;
  text-transform:uppercase;
  font-size:28px;
  line-height:1.05;
}

.home-register-content p{
  margin:0;
  color:#c8d0c0;
  max-width:720px;
  line-height:1.45;
}

.home-register-actions{
  display:flex;
  gap:10px;
  margin-top:14px;
  flex-wrap:wrap;
}

.home-register-stats{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin-top:16px;
}

.home-register-stats div{
  border:1px solid rgba(187,255,35,.16);
  background:#050705;
  padding:12px;
}

.home-register-stats b{
  display:block;
  color:#bbff23;
  font-size:24px;
  line-height:1;
}

.home-register-stats span{
  color:#c8d0c0;
  text-transform:uppercase;
  font-size:11px;
  font-weight:800;
}

.home-register-card{
  display:block;
  border:1px solid rgba(187,255,35,.20);
  background:#000;
  overflow:hidden;
  transition:.18s ease;
}

.home-register-card:hover{
  transform:translateY(-2px);
  border-color:rgba(187,255,35,.55);
  box-shadow:0 0 24px rgba(187,255,35,.12);
}

.home-register-card img{
  display:block;
  width:100%;
  height:250px;
  object-fit:cover;
  object-position:center top;
}

.home-register-card div{
  padding:12px;
  background:#050705;
}

.home-register-card strong{
  display:block;
  color:#fff;
  text-transform:uppercase;
  margin-bottom:4px;
}

.home-register-card span{
  color:#bbff23;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
}

@media(max-width:900px){
  .home-register-section{
    grid-template-columns:1fr;
  }

  .home-register-stats{
    grid-template-columns:1fr;
  }

  .home-register-card img{
    height:auto;
  }
}


/* =========================================================
   CORREÇÃO FINAL: CADASTRO SALVANDO + LISTA DE CADASTRADOS
   ========================================================= */
.registered-participants-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}

.registered-participant{
  display:grid;
  grid-template-columns:54px 1fr auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(187,255,35,.14);
  background:#050705;
  padding:10px;
}

.registered-avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid rgba(187,255,35,.28);
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
}

.registered-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.registered-participant strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
}

.registered-participant span{
  color:#c8d0c0;
  font-size:13px;
}

.empty-warning{
  border:1px solid rgba(255,80,80,.25);
  background:rgba(255,80,80,.08);
  padding:12px;
  color:#ffd0d0;
}

.muted-text{
  color:#c8d0c0;
}

/* deixa o botão da lista não quebrar no mobile */
@media(max-width:650px){
  .registered-participant{
    grid-template-columns:54px 1fr;
  }
  .registered-participant button{
    grid-column:1/-1;
    width:100%;
  }
}


/* CORREÇÃO DO FORMULÁRIO DE CADASTRO */
.cadastro-message{
  grid-column:1/-1;
  border:1px solid rgba(187,255,35,.35);
  background:rgba(187,255,35,.08);
  color:#eaffbf;
  padding:12px;
  font-weight:800;
  margin-bottom:4px;
}
.cadastro-message.error{
  border-color:rgba(255,80,80,.35);
  background:rgba(255,80,80,.08);
  color:#ffd6d6;
}
.registered-participants-list{
  display:grid;
  gap:10px;
  margin-top:12px;
}
.registered-participant{
  display:grid;
  grid-template-columns:54px 1fr auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(187,255,35,.14);
  background:#050705;
  padding:10px;
}
.registered-avatar{
  width:54px;
  height:54px;
  border-radius:50%;
  overflow:hidden;
  border:1px solid rgba(187,255,35,.28);
  background:#000;
  display:flex;
  align-items:center;
  justify-content:center;
}
.registered-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.registered-participant strong{
  display:block;
  color:#fff;
  margin-bottom:4px;
}
.registered-participant span,
.registered-participant small{
  display:block;
  color:#c8d0c0;
  font-size:13px;
}
.empty-warning{
  border:1px solid rgba(255,80,80,.25);
  background:rgba(255,80,80,.08);
  padding:12px;
  color:#ffd0d0;
}
.muted-text{
  color:#c8d0c0;
}
@media(max-width:650px){
  .registered-participant{
    grid-template-columns:54px 1fr;
  }
  .registered-participant button{
    grid-column:1/-1;
    width:100%;
  }
}


/* Ajuste final para erro de envio com imagem pesada */
.cadastro-message{
  grid-column:1/-1;
  border:1px solid rgba(187,255,35,.35);
  background:rgba(187,255,35,.08);
  color:#eaffbf;
  padding:12px;
  font-weight:800;
  margin-bottom:4px;
}
.cadastro-message.error{
  border-color:rgba(255,80,80,.35);
  background:rgba(255,80,80,.08);
  color:#ffd6d6;
}
#limparCadastrosBtn{
  margin:8px 0 12px;
}
button:disabled{
  opacity:.65;
  cursor:not-allowed;
}


@media(max-width:1150px){
  .ranking-layout{
    grid-template-columns:1fr;
  }

  .ranking-filter-panel{
    display:grid;
    grid-template-columns:repeat(3,1fr);
  }

  .ranking-filter-panel h3,
  .ranking-mini-card{
    grid-column:1/-1;
  }

  .ranking-side-panel{
    grid-template-columns:repeat(3,1fr);
  }
}

@media(max-width:850px){
  .ranking-tabs{
    grid-template-columns:1fr 1fr;
  }

  .club-stats-strip,
  .club-players-row{
    grid-template-columns:1fr 1fr;
  }

  .club-ranking-summary{
    grid-template-columns:44px 42px 1fr;
  }

  .club-change{
    grid-column:1/-1;
    text-align:left;
  }

  .player-ranking-row{
    grid-template-columns:42px 42px 1fr;
  }

  .player-row-stat{
    text-align:left;
  }

  .ranking-side-panel,
  .ranking-filter-panel{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   RANKING MAIS PARECIDO COM HLTV
   ========================================================= */
.ranking-hltv-body{
  margin:0;
  background:#0f141c;
  color:#d3d7dc;
  font-family:Arial, Helvetica, sans-serif;
}

.ranking-page-shell{
  display:grid;
  grid-template-columns:145px minmax(0, 1fr) 145px;
  min-height:100vh;
}

.ranking-side-ad{
  background:linear-gradient(180deg,#ffcf2c,#ff5337);
  position:sticky;
  top:0;
  height:100vh;
  overflow:hidden;
}

.ranking-side-ad-inner{
  height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#fff;
  text-decoration:none;
  padding:18px;
  gap:14px;
  background:
    radial-gradient(circle at 0% 100%, rgba(0,0,0,.55) 0 26%, transparent 27%),
    radial-gradient(circle at 100% 0%, rgba(0,0,0,.55) 0 26%, transparent 27%),
    linear-gradient(180deg,#ffcb20 0%, #ff7d24 50%, #ff3636 100%);
}

.ranking-ad-brand{
  font-size:40px;
  line-height:1;
  font-weight:900;
  color:#111;
  background:#fff;
  padding:10px 14px;
  border-radius:10px;
}

.ranking-side-ad-inner h3{
  margin:0;
  font-size:24px;
  color:#fff;
  text-transform:uppercase;
}

.ranking-side-ad-inner p{
  margin:0;
  font-size:15px;
  line-height:1.35;
}

.ranking-side-ad-inner span{
  margin-top:8px;
  background:#fff;
  color:#111;
  font-weight:900;
  padding:10px 16px;
  border:2px solid #222;
}

.ranking-hltv-main{
  background:#1b2430;
  min-width:0;
}

.ranking-hltv-topbar{
  background:#2f3b4b;
  border-bottom:1px solid #425064;
}

.ranking-hltv-topbar-inner{
  display:grid;
  grid-template-columns:auto 1fr 260px;
  align-items:center;
  gap:18px;
  max-width:1060px;
  margin:0 auto;
  padding:0 12px;
  min-height:62px;
}

.ranking-hltv-logo-wrap{
  display:flex;
  align-items:center;
  gap:10px;
}

.ranking-hltv-logo-wrap img{
  width:58px;
  height:58px;
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(187,255,35,.18));
}

.ranking-hltv-title strong{
  display:block;
  font-size:24px;
  color:#fff;
  letter-spacing:.02em;
}

.ranking-hltv-title span{
  display:block;
  font-size:12px;
  color:#b9c6d3;
  text-transform:uppercase;
}

.ranking-hltv-nav{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
}

.ranking-hltv-nav a{
  color:#d2d7de;
  text-decoration:none;
  font-size:14px;
}

.ranking-hltv-nav a.active,
.ranking-hltv-nav a:hover{
  color:#fff;
}

.ranking-hltv-search input{
  width:100%;
  background:#1e2834;
  border:1px solid #48576d;
  color:#fff;
  padding:10px 12px;
}

.ranking-hltv-content{
  max-width:1060px;
  margin:0 auto;
  display:grid;
  grid-template-columns:174px minmax(0, 1fr) 180px;
  gap:14px;
  padding:12px;
}

.ranking-hltv-filters{
  background:#273241;
  border:1px solid #3d4d63;
}

.filter-header{
  padding:10px 12px;
  font-size:12px;
  font-weight:900;
  color:#fff;
  background:#41526a;
  border-bottom:1px solid #50637f;
}

.ranking-filter-group{
  border-bottom:1px solid #3a4a5f;
}

.ranking-filter-group-title{
  width:100%;
  border:0;
  background:#273241;
  color:#d8e5f5;
  display:flex;
  justify-content:space-between;
  padding:11px 12px;
  font-weight:900;
  text-align:left;
}

.ranking-filter-item{
  width:100%;
  border:0;
  background:#273241;
  color:#aab8ca;
  text-align:left;
  padding:9px 12px;
  border-top:1px dotted #55657a;
}

.ranking-filter-item.active,
.ranking-filter-item:hover{
  color:#7fc6ff;
  background:#314054;
}

.ranking-hltv-center{
  min-width:0;
}

.ranking-hltv-tabs{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  margin-bottom:12px;
}

.ranking-hltv-tabs button{
  background:#59534b;
  color:#e3e5e7;
  border:1px solid #6e675c;
  padding:14px 10px;
  text-align:left;
  font-size:13px;
}

.ranking-hltv-tabs button.active{
  background:#364454;
  border-color:#4d5d74;
  box-shadow:inset 0 -2px 0 #7fc6ff;
}

.ranking-hltv-headerline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.ranking-hltv-headerline h1{
  margin:0;
  font-size:17px;
  color:#c8cfd7;
  font-weight:700;
}

.ranking-hltv-arrows{
  display:flex;
  gap:6px;
}

.ranking-hltv-arrows button{
  width:28px;
  height:28px;
  border:0;
  background:transparent;
  color:#95a7be;
  font-size:22px;
}

.ranking-hltv-club-list{
  display:grid;
  gap:8px;
}

.ranking-team-card{
  background:#273241;
  border:1px solid #3c4a5e;
}

.ranking-team-card.is-top{
  background:#324050;
}

.ranking-team-topline{
  display:grid;
  grid-template-columns:42px 36px minmax(0, 1fr) 36px;
  align-items:center;
  gap:10px;
  padding:10px 12px;
}

.ranking-team-rank{
  color:#b9c3ce;
  font-size:15px;
  font-weight:900;
}

.ranking-team-badge{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#111922;
  color:#bbff23;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
  border:1px solid #445366;
}

.ranking-team-maininfo h2{
  margin:0;
  color:#d7dce2;
  font-size:17px;
  font-weight:700;
}

.ranking-team-maininfo h2 span{
  color:#9eaab8;
  font-size:12px;
  font-weight:400;
}

.ranking-team-maininfo p{
  margin:3px 0 0;
  color:#7f8b9a;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ranking-team-change{
  text-align:right;
  color:#a5b1bf;
  font-weight:900;
}

.ranking-team-change.up{
  color:#4fe05a;
}

.ranking-team-players-showcase{
  display:grid;
  grid-template-columns:repeat(5, 1fr);
  gap:8px;
  padding:0 12px 10px;
}

.showcase-player{
  background:#4b5b68;
  text-align:center;
  padding:8px 6px;
}

.showcase-player-image{
  width:100%;
  height:110px;
  background:#5b6b78;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}

.showcase-player-image img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.showcase-player-image span{
  font-size:24px;
  font-weight:900;
  color:#bbff23;
}

.showcase-player b{
  display:block;
  color:#d5dce2;
  margin-top:6px;
  font-size:12px;
}

.showcase-player span{
  color:#9aa5b1;
  font-size:11px;
}

.ranking-team-foot{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-top:1px solid #3c4a5e;
  font-size:12px;
  color:#b7c1cc;
}

.ranking-hltv-player-block{
  margin-top:14px;
  background:#273241;
  border:1px solid #3c4a5e;
}

.ranking-hltv-player-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-bottom:1px solid #3c4a5e;
}

.ranking-hltv-player-head h2{
  margin:0;
  font-size:14px;
  color:#fff;
  text-transform:uppercase;
}

.ranking-hltv-player-head span{
  color:#93a3b5;
  font-size:12px;
}

.ranking-hltv-player-list{
  display:grid;
}

.ranking-player-row{
  display:grid;
  grid-template-columns:52px 42px minmax(0, 1fr) 100px 70px;
  gap:10px;
  align-items:center;
  padding:10px 12px;
  border-top:1px solid #3a4759;
}

.ranking-player-pos{
  color:#c9d1da;
  font-weight:900;
}

.ranking-player-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  background:#17202b;
  border:1px solid #435368;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#bbff23;
  font-weight:900;
  font-size:12px;
}

.ranking-player-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.ranking-player-info{
  min-width:0;
}

.ranking-player-info strong{
  display:block;
  color:#dce2e7;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:13px;
}

.ranking-player-info span{
  display:block;
  color:#8f9bab;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ranking-player-points,
.ranking-player-acc{
  text-align:right;
  color:#8bff49;
  font-weight:700;
  font-size:13px;
}

.ranking-hltv-right{
  display:grid;
  gap:10px;
}

.ranking-hltv-right-card{
  background:#273241;
  border:1px solid #3c4a5e;
  padding:8px;
}

.right-card-title{
  color:#b9c7d4;
  font-size:11px;
  font-weight:900;
  margin-bottom:8px;
}

.ranking-hltv-activity a,
.ranking-mini-club-row,
.ranking-transfer-row{
  display:grid;
  align-items:center;
  gap:8px;
  border-top:1px solid #3a4657;
  padding:8px 0;
  font-size:12px;
}

.ranking-hltv-activity a{
  grid-template-columns:1fr auto;
  color:#7fc6ff;
  text-decoration:none;
}

.ranking-hltv-activity b{
  color:#b4c0cc;
}

.ranking-transfer-row{
  grid-template-columns:34px 1fr auto;
}

.ranking-transfer-avatar{
  width:30px;
  height:30px;
  border-radius:50%;
  background:#17202b;
  border:1px solid #435368;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  color:#bbff23;
  font-size:10px;
  font-weight:900;
}

.ranking-transfer-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.ranking-transfer-row span{
  color:#d8dee5;
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ranking-transfer-row b{
  color:#bbff23;
  font-size:11px;
}

.ranking-mini-club-row{
  grid-template-columns:auto 1fr auto;
}

.ranking-mini-club-row b{
  color:#a8b3bf;
}

.ranking-mini-club-row span{
  color:#d5dce2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ranking-mini-club-row strong{
  color:#8bff49;
}

.ranking-hltv-empty{
  background:#273241;
  border:1px solid #3c4a5e;
  color:#cfd6de;
  padding:18px;
}

@media (max-width: 1180px){
  .ranking-page-shell{
    grid-template-columns:1fr;
  }

  .ranking-side-ad{
    display:none;
  }
}

@media (max-width: 980px){
  .ranking-hltv-content{
    grid-template-columns:1fr;
  }

  .ranking-hltv-right{
    grid-template-columns:1fr 1fr 1fr;
  }

  .ranking-hltv-topbar-inner{
    grid-template-columns:1fr;
    padding:10px 12px;
  }
}

@media (max-width: 780px){
  .ranking-hltv-tabs{
    grid-template-columns:1fr 1fr;
  }

  .ranking-team-players-showcase{
    grid-template-columns:1fr 1fr;
  }

  .ranking-hltv-right{
    grid-template-columns:1fr;
  }

  .ranking-player-row{
    grid-template-columns:48px 40px 1fr;
  }

  .ranking-player-points,
  .ranking-player-acc{
    text-align:left;
  }
}


/* =========================================================
   RANKING HLTV COM CORES ORIGINAIS DO SITE D20
   Preto + verde neon + branco
   ========================================================= */
.ranking-hltv-body{
  background:#000 !important;
  color:#f5f5ef !important;
}

.ranking-hltv-main{
  background:
    radial-gradient(circle at 50% 0%, rgba(187,255,35,.08), transparent 360px),
    #000 !important;
}

.ranking-hltv-topbar{
  background:
    linear-gradient(180deg, #17280d 0%, #101b0b 55%, #071004 100%) !important;
  border-bottom:1px solid rgba(187,255,35,.24) !important;
  box-shadow:0 0 18px rgba(187,255,35,.08) !important;
}

.ranking-hltv-title strong{
  color:#fff !important;
}

.ranking-hltv-title span{
  color:#bbff23 !important;
}

.ranking-hltv-nav a{
  color:#f1f5ec !important;
}

.ranking-hltv-nav a.active,
.ranking-hltv-nav a:hover{
  color:#bbff23 !important;
}

.ranking-hltv-search input{
  background:#050905 !important;
  border:1px solid rgba(187,255,35,.28) !important;
  color:#fff !important;
}

.ranking-hltv-search input::placeholder{
  color:#9aa193 !important;
}

.ranking-hltv-content{
  background:transparent !important;
}

/* Laterais de anúncio no padrão D20 */
.ranking-side-ad{
  background:#000 !important;
}

.ranking-side-ad-inner{
  background:
    radial-gradient(circle at 50% 18%, rgba(187,255,35,.20), transparent 280px),
    linear-gradient(180deg,#071007,#020402 72%,#000) !important;
  border-left:1px solid rgba(187,255,35,.12) !important;
  border-right:1px solid rgba(187,255,35,.12) !important;
  color:#fff !important;
}

.ranking-ad-brand{
  background:#050705 !important;
  color:#bbff23 !important;
  border:1px solid rgba(187,255,35,.45) !important;
  box-shadow:0 0 22px rgba(187,255,35,.16) !important;
}

.ranking-side-ad-inner h3{
  color:#bbff23 !important;
}

.ranking-side-ad-inner p{
  color:#e7eee0 !important;
}

.ranking-side-ad-inner span{
  background:linear-gradient(180deg, rgba(187,255,35,.18), rgba(187,255,35,.05)) !important;
  color:#f2ffb7 !important;
  border:1px solid rgba(187,255,35,.70) !important;
}

/* Filtros */
.ranking-hltv-filters{
  background:linear-gradient(180deg,#071007,#030503) !important;
  border:1px solid rgba(187,255,35,.18) !important;
}

.filter-header{
  background:#101b0b !important;
  color:#bbff23 !important;
  border-bottom:1px solid rgba(187,255,35,.18) !important;
}

.ranking-filter-group{
  border-bottom:1px solid rgba(187,255,35,.10) !important;
}

.ranking-filter-group-title{
  background:#071007 !important;
  color:#fff !important;
}

.ranking-filter-item{
  background:#050805 !important;
  color:#9aa193 !important;
  border-top:1px solid rgba(187,255,35,.08) !important;
}

.ranking-filter-item.active,
.ranking-filter-item:hover{
  background:rgba(187,255,35,.08) !important;
  color:#bbff23 !important;
}

/* Abas superiores */
.ranking-hltv-tabs button{
  background:#101b0b !important;
  border:1px solid rgba(187,255,35,.16) !important;
  color:#d9e3d3 !important;
}

.ranking-hltv-tabs button.active{
  background:#17280d !important;
  color:#fff !important;
  border-color:rgba(187,255,35,.32) !important;
  box-shadow:inset 0 -2px 0 #bbff23 !important;
}

.ranking-hltv-headerline h1{
  color:#f5f5ef !important;
}

.ranking-hltv-arrows button{
  color:#bbff23 !important;
}

/* Cards principais do ranking */
.ranking-team-card{
  background:linear-gradient(180deg,#081008,#040604) !important;
  border:1px solid rgba(187,255,35,.14) !important;
}

.ranking-team-card.is-top{
  background:
    radial-gradient(circle at 50% 0%, rgba(187,255,35,.10), transparent 240px),
    linear-gradient(180deg,#101b0b,#050805) !important;
  border-color:rgba(187,255,35,.30) !important;
}

.ranking-team-rank{
  color:#cdd8c6 !important;
}

.ranking-team-badge{
  background:#050705 !important;
  border:1px solid rgba(187,255,35,.42) !important;
  color:#bbff23 !important;
  box-shadow:0 0 16px rgba(187,255,35,.10) !important;
}

.ranking-team-maininfo h2{
  color:#fff !important;
}

.ranking-team-maininfo h2 span{
  color:#bbff23 !important;
}

.ranking-team-maininfo p{
  color:#9aa193 !important;
}

.ranking-team-change{
  color:#9aa193 !important;
}

.ranking-team-change.up{
  color:#18ff55 !important;
}

.ranking-team-players-showcase{
  border-top:1px solid rgba(187,255,35,.10) !important;
}

.showcase-player{
  background:#0b120b !important;
  border:1px solid rgba(187,255,35,.12) !important;
}

.showcase-player-image{
  background:
    radial-gradient(circle at 50% 35%, rgba(187,255,35,.10), transparent 90px),
    #050705 !important;
}

.showcase-player-image span{
  color:#bbff23 !important;
}

.showcase-player b{
  color:#fff !important;
}

.showcase-player span{
  color:#9aa193 !important;
}

.ranking-team-foot{
  border-top:1px solid rgba(187,255,35,.12) !important;
  color:#c8d0c0 !important;
  background:#050805 !important;
}

/* Bloco individual */
.ranking-hltv-player-block{
  background:linear-gradient(180deg,#071007,#030503) !important;
  border:1px solid rgba(187,255,35,.18) !important;
}

.ranking-hltv-player-head{
  border-bottom:1px solid rgba(187,255,35,.12) !important;
}

.ranking-hltv-player-head h2{
  color:#bbff23 !important;
}

.ranking-hltv-player-head span{
  color:#9aa193 !important;
}

.ranking-player-row{
  border-top:1px solid rgba(187,255,35,.10) !important;
  background:#050805 !important;
}

.ranking-player-row:hover{
  background:rgba(187,255,35,.06) !important;
}

.ranking-player-pos{
  color:#dfe8d8 !important;
}

.ranking-player-avatar{
  background:#050705 !important;
  border:1px solid rgba(187,255,35,.28) !important;
  color:#bbff23 !important;
}

.ranking-player-info strong{
  color:#fff !important;
}

.ranking-player-info span{
  color:#9aa193 !important;
}

.ranking-player-points,
.ranking-player-acc{
  color:#bbff23 !important;
}

/* Lateral direita */
.ranking-hltv-right-card{
  background:linear-gradient(180deg,#071007,#030503) !important;
  border:1px solid rgba(187,255,35,.16) !important;
}

.right-card-title{
  color:#bbff23 !important;
}

.ranking-hltv-activity a,
.ranking-mini-club-row,
.ranking-transfer-row{
  border-top:1px solid rgba(187,255,35,.10) !important;
}

.ranking-hltv-activity a{
  color:#e7eee0 !important;
}

.ranking-hltv-activity a:hover{
  color:#bbff23 !important;
}

.ranking-hltv-activity b,
.ranking-mini-club-row b{
  color:#9aa193 !important;
}

.ranking-transfer-avatar{
  background:#050705 !important;
  border:1px solid rgba(187,255,35,.28) !important;
  color:#bbff23 !important;
}

.ranking-transfer-row span,
.ranking-mini-club-row span{
  color:#fff !important;
}

.ranking-transfer-row b,
.ranking-mini-club-row strong{
  color:#bbff23 !important;
}

.ranking-hltv-empty{
  background:#050805 !important;
  border:1px solid rgba(187,255,35,.16) !important;
  color:#c8d0c0 !important;
}


/* Ranking também na área lateral da home */
.home-ranking-card .card-head{
  align-items:flex-start !important;
}

.home-ranking-card .mini-link{
  color:#bbff23;
  font-weight:900;
  font-size:11px;
  text-transform:uppercase;
}

.home-ranking-preview{
  margin:12px 0;
  border:1px solid rgba(187,255,35,.16);
  background:#050805;
}

.home-ranking-preview-head{
  display:flex;
  justify-content:space-between;
  gap:8px;
  padding:9px 10px;
  border-bottom:1px solid rgba(187,255,35,.12);
}

.home-ranking-preview-head strong{
  color:#fff;
  text-transform:uppercase;
  font-size:12px;
}

.home-ranking-preview-head span{
  color:#bbff23;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
}

.home-club-ranking-list{
  display:grid;
}

.home-club-ranking-list a{
  display:grid;
  grid-template-columns:32px 1fr auto;
  align-items:center;
  gap:8px;
  color:#dfe8d8;
  padding:9px 10px;
  border-top:1px solid rgba(187,255,35,.07);
  font-size:12px;
}

.home-club-ranking-list a:first-child{
  border-top:0;
}

.home-club-ranking-list a:hover{
  background:rgba(187,255,35,.07);
  color:#fff;
}

.home-club-ranking-list b{
  color:#bbff23;
}

.home-club-ranking-list span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.home-club-ranking-list strong{
  color:#bbff23;
  font-size:11px;
}

.home-ranking-buttons{
  display:grid;
  gap:8px;
}

.home-ranking-buttons .neon,
.home-ranking-buttons .dark-button{
  text-align:center;
  text-transform:uppercase;
}


/* Ranking individual por pessoa na área lateral da home */
.individual-preview{
  margin-top:12px;
}

.home-player-ranking-list{
  display:grid;
}

.home-player-ranking-list a{
  display:grid;
  grid-template-columns:32px 1fr auto;
  align-items:center;
  gap:8px;
  color:#dfe8d8;
  padding:9px 10px;
  border-top:1px solid rgba(187,255,35,.07);
  font-size:12px;
}

.home-player-ranking-list a:first-child{
  border-top:0;
}

.home-player-ranking-list a:hover{
  background:rgba(187,255,35,.07);
  color:#fff;
}

.home-player-ranking-list b{
  color:#bbff23;
}

.home-player-ranking-list span{
  display:block;
  min-width:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.home-player-ranking-list small{
  display:block;
  color:#9aa193;
  font-size:10px;
  font-weight:700;
  margin-top:2px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.home-player-ranking-list strong{
  color:#bbff23;
  font-size:11px;
  white-space:nowrap;
}


/* =========================================================
   PÁGINA SEPARADA - RANKING INDIVIDUAL POR PESSOA
   ========================================================= */
.individual-ranking-page{
  background:#000;
  color:#f5f5ef;
}

.individual-ranking-content{
  max-width:1060px;
  margin:0 auto;
  display:grid;
  grid-template-columns:174px minmax(0, 1fr) 210px;
  gap:14px;
  padding:12px;
}

.individual-ranking-main-panel{
  min-width:0;
}

.individual-ranking-tabs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-bottom:12px;
}

.individual-ranking-tabs button{
  background:#101b0b;
  border:1px solid rgba(187,255,35,.16);
  color:#d9e3d3;
  padding:14px 10px;
  text-align:left;
  font-weight:800;
}

.individual-ranking-tabs button.active{
  background:#17280d;
  color:#fff;
  border-color:rgba(187,255,35,.32);
  box-shadow:inset 0 -2px 0 #bbff23;
}

.individual-ranking-header{
  display:flex;
  justify-content:space-between;
  gap:20px;
  align-items:center;
  padding:20px;
  border:1px solid rgba(187,255,35,.18);
  background:
    radial-gradient(circle at 75% 15%, rgba(187,255,35,.12), transparent 300px),
    linear-gradient(180deg,#071007,#030503);
  margin-bottom:12px;
}

.individual-ranking-header h1{
  margin:2px 0 5px;
  color:#fff;
  text-transform:uppercase;
  font-size:26px;
  line-height:1;
}

.individual-ranking-header span{
  color:#c8d0c0;
}

.individual-ranking-date{
  display:flex;
  gap:8px;
  align-items:center;
  color:#bbff23;
}

.individual-ranking-date b{
  font-size:40px;
  line-height:1;
}

.individual-ranking-date span{
  color:#bbff23;
  font-size:12px;
  font-weight:900;
}

.individual-ranking-info-box{
  margin:10px;
  padding:12px;
  border:1px solid rgba(187,255,35,.14);
  background:#050705;
}

.individual-ranking-info-box strong{
  color:#bbff23;
  text-transform:uppercase;
}

.individual-ranking-info-box p{
  color:#c8d0c0;
  font-size:12px;
  line-height:1.4;
}

.individual-podium{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
  margin-bottom:12px;
}

.podium-card{
  border:1px solid rgba(187,255,35,.18);
  background:linear-gradient(180deg,#071007,#030503);
  text-align:center;
  padding:16px 12px;
  position:relative;
  overflow:hidden;
}

.podium-card::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 50% 0%, rgba(187,255,35,.12), transparent 220px);
  pointer-events:none;
}

.podium-position{
  color:#bbff23;
  font-size:15px;
  font-weight:900;
  margin-bottom:8px;
}

.podium-avatar{
  width:86px;
  height:86px;
  border-radius:50%;
  border:2px solid rgba(187,255,35,.45);
  margin:0 auto 10px;
  background:#050705;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#bbff23;
  font-size:24px;
  font-weight:900;
}

.podium-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.podium-card h2{
  margin:0 0 4px;
  color:#fff;
  font-size:17px;
}

.podium-card p{
  margin:0 0 8px;
  color:#9aa193;
  font-size:12px;
}

.podium-card strong{
  display:block;
  color:#bbff23;
  font-size:20px;
}

.podium-card span{
  color:#c8d0c0;
  font-size:12px;
}

.individual-table-card{
  border:1px solid rgba(187,255,35,.18);
  background:linear-gradient(180deg,#071007,#030503);
}

.individual-table-head{
  display:grid;
  grid-template-columns:70px minmax(0,1.5fr) minmax(0,1fr) 110px 100px 80px;
  gap:12px;
  padding:11px 12px;
  background:#101b0b;
  border-bottom:1px solid rgba(187,255,35,.18);
  color:#bbff23;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
}

.individual-ranking-list{
  display:grid;
}

.individual-ranking-row{
  display:grid;
  grid-template-columns:70px minmax(0,1.5fr) minmax(0,1fr) 110px 100px 80px;
  gap:12px;
  align-items:center;
  padding:10px 12px;
  border-top:1px solid rgba(187,255,35,.09);
}

.individual-ranking-row:hover{
  background:rgba(187,255,35,.06);
}

.individual-position{
  color:#cdd8c6;
  font-weight:900;
}

.individual-player{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.individual-avatar{
  width:42px;
  height:42px;
  border-radius:50%;
  background:#050705;
  border:1px solid rgba(187,255,35,.28);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#bbff23;
  font-weight:900;
  flex:0 0 auto;
}

.individual-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.individual-player strong{
  display:block;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.individual-player span{
  display:block;
  color:#9aa193;
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.individual-team,
.individual-category{
  color:#dfe8d8;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.individual-points,
.individual-accuracy{
  color:#bbff23;
  font-weight:900;
  text-align:right;
}

.individual-ranking-side{
  display:grid;
  gap:10px;
  align-content:start;
}

.individual-mini-list{
  display:grid;
}

.individual-mini-list a{
  display:grid;
  grid-template-columns:34px 1fr auto;
  gap:8px;
  align-items:center;
  padding:8px 0;
  border-top:1px solid rgba(187,255,35,.10);
  color:#fff;
}

.individual-mini-list b,
.individual-mini-list strong{
  color:#bbff23;
}

.individual-mini-list span{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.individual-shortcuts{
  display:grid;
}

.individual-shortcuts a{
  padding:9px 0;
  border-top:1px solid rgba(187,255,35,.10);
  color:#dfe8d8;
  font-weight:800;
}

.individual-shortcuts a:hover{
  color:#bbff23;
}

.individual-empty{
  padding:18px;
  color:#c8d0c0;
}

@media(max-width:1100px){
  .individual-ranking-content{
    grid-template-columns:1fr;
  }

  .individual-ranking-side{
    grid-template-columns:1fr 1fr 1fr;
  }
}

@media(max-width:760px){
  .individual-podium{
    grid-template-columns:1fr;
  }

  .individual-ranking-tabs{
    grid-template-columns:1fr 1fr;
  }

  .individual-table-head{
    display:none;
  }

  .individual-ranking-row{
    grid-template-columns:52px 1fr;
  }

  .individual-team,
  .individual-category,
  .individual-points,
  .individual-accuracy{
    grid-column:2;
    text-align:left;
  }

  .individual-ranking-side{
    grid-template-columns:1fr;
  }
}


/* =========================================================
   POLIMENTO FINAL D20 - ORGANIZAÇÃO, BUGFIXES E EFEITOS
   ========================================================= */
:root{
  --d20-bg:#000;
  --d20-panel:#050805;
  --d20-panel-2:#071007;
  --d20-card:#091109;
  --d20-line:rgba(187,255,35,.18);
  --d20-line-soft:rgba(187,255,35,.09);
  --d20-lime:#bbff23;
  --d20-lime-2:#e7ff8a;
  --d20-text:#f5f5ef;
  --d20-muted:#9aa193;
  --d20-shadow:0 0 28px rgba(187,255,35,.10);
  --d20-content:1180px;
}

*{
  scrollbar-width:thin;
  scrollbar-color:rgba(187,255,35,.45) #020402;
}

::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:#020402}
::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,rgba(187,255,35,.75),rgba(91,128,12,.75));
  border-radius:999px;
  border:2px solid #020402;
}

body{
  background:
    radial-gradient(circle at 50% -180px, rgba(187,255,35,.13), transparent 420px),
    radial-gradient(circle at 0 35%, rgba(187,255,35,.055), transparent 300px),
    #000 !important;
}

.d20-glow-layer{
  position:fixed;
  inset:0;
  z-index:-5;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 20%, rgba(187,255,35,.035) 21%, transparent 36% 100%),
    radial-gradient(circle at 78% 18%, rgba(187,255,35,.08), transparent 300px),
    radial-gradient(circle at 10% 90%, rgba(187,255,35,.06), transparent 280px);
  opacity:.85;
}

.d20-glow-layer::after{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(187,255,35,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(187,255,35,.035) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 30%, black, transparent 75%);
}

.cursor-glow{
  position:fixed;
  width:260px;
  height:260px;
  pointer-events:none;
  z-index:9998;
  border-radius:50%;
  transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(187,255,35,.12), transparent 62%);
  opacity:.45;
  transition:opacity .18s ease, width .18s ease, height .18s ease;
  mix-blend-mode:screen;
}

body.d20-hovering .cursor-glow{
  width:340px;
  height:340px;
  opacity:.65;
}

.page-noise{
  opacity:.045 !important;
}

/* Layout base mais estável */
.main-width{
  width:var(--d20-content) !important;
  max-width:calc(100vw - 28px) !important;
}

.site,
.participant-shell,
.admin-shell{
  border-left:1px solid var(--d20-line-soft) !important;
  border-right:1px solid var(--d20-line-soft) !important;
  background:
    linear-gradient(180deg, rgba(5,8,5,.98), rgba(2,4,2,.98)) !important;
}

.layout{
  grid-template-columns:230px minmax(0,1fr) 285px !important;
  gap:14px !important;
}

.card,
.participant-card,
.admin-form,
.admin-list,
.ranking-hltv-right-card,
.ranking-team-card,
.individual-table-card,
.podium-card,
.features > *,
.athlete-card{
  border:1px solid var(--d20-line) !important;
  background:
    linear-gradient(180deg, rgba(9,17,9,.98), rgba(3,6,3,.98)) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035), 0 0 0 rgba(187,255,35,0) !important;
  transition:
    transform .22s ease,
    border-color .22s ease,
    box-shadow .22s ease,
    background .22s ease !important;
}

.card:hover,
.participant-card:hover,
.ranking-team-card:hover,
.podium-card:hover,
.athlete-card:hover,
.home-register-section:hover,
.individual-table-card:hover{
  transform:translateY(-2px);
  border-color:rgba(187,255,35,.36) !important;
  box-shadow:var(--d20-shadow) !important;
}

/* Topo e navegação */
.topbar,
.ranking-hltv-topbar{
  background:
    linear-gradient(180deg, #182a0d 0%, #101b0b 58%, #060d04 100%) !important;
  border-bottom:1px solid rgba(187,255,35,.24) !important;
  box-shadow:0 0 18px rgba(187,255,35,.08) !important;
  backdrop-filter:blur(12px);
}

.topbar nav{
  gap:15px !important;
}

.topbar nav a,
.ranking-hltv-nav a{
  position:relative;
  color:#f0f6ea !important;
  transition:.2s ease;
}

.topbar nav a::after,
.ranking-hltv-nav a::after{
  content:"";
  position:absolute;
  left:0;
  right:100%;
  bottom:-6px;
  height:2px;
  background:var(--d20-lime);
  transition:right .22s ease;
}

.topbar nav a:hover,
.ranking-hltv-nav a:hover,
.ranking-hltv-nav a.active{
  color:var(--d20-lime) !important;
}

.topbar nav a:hover::after,
.ranking-hltv-nav a:hover::after,
.ranking-hltv-nav a.active::after{
  right:0;
}

.brand-row{
  height:auto !important;
  min-height:86px !important;
  padding:14px 0 12px !important;
}

/* Imagens sem quebrar área */
img{
  max-width:100%;
}

.hero,
.hero-image-link,
.next-card,
.news-item,
.event-item,
.gallery a,
.home-register-card,
.athlete-cta,
.ranking-team-card,
.individual-table-card{
  overflow:hidden !important;
}

.hero-image-link{
  height:380px !important;
  border:1px solid var(--d20-line) !important;
}

.hero-image-link img,
.next-img,
.news-item img,
.event-item img,
.gallery img,
.home-register-card img{
  transition:transform .4s ease, filter .4s ease;
}

.hero:hover .hero-image-link img,
.next-card:hover .next-img,
.news-item:hover img,
.event-item:hover img,
.gallery a:hover img,
.home-register-card:hover img{
  transform:scale(1.035);
  filter:saturate(1.08) contrast(1.06);
}

/* Botões */
.neon,
.admin-button,
.dark-button,
button,
.home-ranking-buttons a,
.participant-actions a,
.participant-actions button{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease !important;
}

.neon,
.admin-button{
  background:
    linear-gradient(180deg, rgba(187,255,35,.22), rgba(187,255,35,.055)) !important;
  border:1px solid rgba(187,255,35,.65) !important;
  color:#f6ffc7 !important;
  text-shadow:0 0 12px rgba(187,255,35,.25);
}

.dark-button{
  background:#050705 !important;
  border:1px solid rgba(187,255,35,.22) !important;
  color:#fff !important;
}

.neon:hover,
.admin-button:hover,
.dark-button:hover,
button:hover{
  transform:translateY(-1px);
  box-shadow:0 0 22px rgba(187,255,35,.16) !important;
}

/* Home: ranking lateral mais organizado */
.home-ranking-card{
  display:grid;
  gap:10px;
}

.home-ranking-preview{
  margin:0 !important;
}

.home-ranking-buttons{
  gap:8px !important;
}

.home-ranking-buttons a{
  min-height:40px;
}

/* Corrigir cards de ranking da home */
.home-club-ranking-list a,
.home-player-ranking-list a{
  min-height:42px;
  border-top:1px solid rgba(187,255,35,.08) !important;
}

.home-club-ranking-list strong,
.home-player-ranking-list strong{
  white-space:nowrap;
}

/* Página ranking clubes */
.ranking-page-shell{
  grid-template-columns:minmax(120px,145px) minmax(0,1fr) minmax(120px,145px) !important;
  background:#000 !important;
}

.ranking-hltv-main{
  background:
    radial-gradient(circle at 50% 0%, rgba(187,255,35,.11), transparent 360px),
    #000 !important;
}

.ranking-hltv-content,
.individual-ranking-content{
  max-width:1100px !important;
  gap:14px !important;
}

.ranking-hltv-tabs button,
.individual-ranking-tabs button{
  border-color:rgba(187,255,35,.18) !important;
}

.ranking-team-topline{
  min-height:62px;
}

.ranking-team-players-showcase{
  grid-template-columns:repeat(5,minmax(0,1fr)) !important;
}

.showcase-player{
  min-width:0;
  border-radius:0;
}

.showcase-player-image{
  height:118px !important;
}

/* Página ranking individual */
.individual-ranking-content{
  grid-template-columns:174px minmax(0,1fr) 210px !important;
}

.individual-podium{
  align-items:stretch;
}

.podium-card{
  min-width:0;
}

.podium-card.podium-1{
  order:2;
  transform:translateY(-6px);
  border-color:rgba(187,255,35,.42) !important;
}

.podium-card.podium-2{order:1}
.podium-card.podium-3{order:3}

.podium-card.podium-1:hover{
  transform:translateY(-9px);
}

.individual-table-card{
  overflow:hidden;
}

.individual-ranking-row{
  min-height:66px;
}

.individual-ranking-row:nth-child(even){
  background:rgba(187,255,35,.025);
}

/* Cadastro */
.participant-hero{
  border-color:rgba(187,255,35,.22) !important;
  box-shadow:0 0 24px rgba(187,255,35,.08);
}

.participant-form input,
.participant-form select,
.participant-form textarea,
.admin-form input,
.admin-form select,
.admin-form textarea,
.ranking-hltv-search input,
.top-actions input{
  background:#020402 !important;
  border:1px solid rgba(187,255,35,.22) !important;
  color:#fff !important;
  outline:none !important;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease !important;
}

.participant-form input:focus,
.participant-form select:focus,
.participant-form textarea:focus,
.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus,
.ranking-hltv-search input:focus,
.top-actions input:focus{
  border-color:rgba(187,255,35,.72) !important;
  box-shadow:0 0 0 3px rgba(187,255,35,.10) !important;
}

/* Admin */
.admin-shell{
  max-width:1180px;
  margin:0 auto;
  padding:18px;
}

.admin-header{
  border:1px solid rgba(187,255,35,.18);
  background:linear-gradient(180deg,#081008,#030503);
  padding:16px !important;
}

.admin-tabs{
  position:sticky;
  top:36px;
  z-index:20;
  background:#020402;
  border:1px solid rgba(187,255,35,.16);
  padding:8px;
  gap:8px !important;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}

.admin-tabs button{
  border:1px solid rgba(187,255,35,.14) !important;
  background:#050805 !important;
  color:#dfe8d8 !important;
}

.admin-tabs button.active{
  background:rgba(187,255,35,.12) !important;
  color:#bbff23 !important;
  border-color:rgba(187,255,35,.42) !important;
}

.admin-row{
  border-color:rgba(187,255,35,.12) !important;
}

/* Anúncios laterais mais bonitos */
.ad-wall .ad-slot:not(:has(img)),
.ad-wall .vertical-ad:not(:has(img)){
  background:
    radial-gradient(circle at 50% 20%, rgba(187,255,35,.13), transparent 260px),
    linear-gradient(180deg,#050805,#000) !important;
}

.ranking-side-ad-inner{
  border-left:1px solid rgba(187,255,35,.18);
  border-right:1px solid rgba(187,255,35,.18);
}

/* Reveal animation */
.d20-reveal{
  opacity:0;
  transform:translateY(18px);
  transition:opacity .55s ease var(--reveal-delay,0ms), transform .55s ease var(--reveal-delay,0ms), box-shadow .22s ease, border-color .22s ease !important;
}

.d20-reveal.is-visible{
  opacity:1;
  transform:translateY(0);
}

/* Corrigir transform do pódio com reveal */
.podium-card.podium-1.d20-reveal{
  transform:translateY(12px);
}

.podium-card.podium-1.d20-reveal.is-visible{
  transform:translateY(-6px);
}

/* Responsivo */
@media(max-width:1500px){
  .ad-wall{
    display:none !important;
  }
}

@media(max-width:1180px){
  .ranking-page-shell{
    grid-template-columns:1fr !important;
  }

  .ranking-side-ad{
    display:none !important;
  }
}

@media(max-width:1100px){
  .layout,
  .ranking-hltv-content,
  .individual-ranking-content{
    grid-template-columns:1fr !important;
  }

  .left-col,
  .right-col{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .home-ranking-card,
  .next-card{
    min-width:0;
  }

  .ranking-hltv-filters,
  .individual-filter-panel{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .filter-header,
  .individual-ranking-info-box{
    grid-column:1/-1;
  }

  .ranking-hltv-right,
  .individual-ranking-side{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:850px){
  .main-width{
    max-width:calc(100vw - 18px) !important;
  }

  .left-col,
  .right-col,
  .ranking-hltv-right,
  .individual-ranking-side{
    grid-template-columns:1fr !important;
  }

  .ranking-team-players-showcase{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .individual-podium{
    grid-template-columns:1fr !important;
  }

  .podium-card.podium-1,
  .podium-card.podium-1.d20-reveal.is-visible{
    order:1;
    transform:translateY(0);
  }

  .podium-card.podium-2{order:2}
  .podium-card.podium-3{order:3}

  .individual-table-head{
    display:none !important;
  }

  .individual-ranking-row{
    grid-template-columns:54px 1fr !important;
    gap:8px !important;
  }

  .individual-team,
  .individual-category,
  .individual-points,
  .individual-accuracy{
    grid-column:2 !important;
    text-align:left !important;
  }
}

@media(max-width:650px){
  .topbar-inner,
  .ranking-hltv-topbar-inner{
    grid-template-columns:1fr !important;
    display:grid !important;
    height:auto !important;
    padding:10px 0 !important;
  }

  .topbar nav,
  .ranking-hltv-nav{
    gap:9px !important;
  }

  .hero-image-link{
    height:230px !important;
  }

  .news-item,
  .event-item{
    grid-template-columns:1fr !important;
  }

  .news-item img,
  .event-item img{
    width:100% !important;
    height:auto !important;
  }

  .ranking-hltv-tabs,
  .individual-ranking-tabs,
  .ranking-hltv-filters,
  .individual-filter-panel{
    grid-template-columns:1fr !important;
  }

  .ranking-team-topline{
    grid-template-columns:38px 34px 1fr !important;
  }

  .ranking-team-change{
    grid-column:1/-1;
    text-align:left !important;
  }

  .cursor-glow{
    display:none;
  }
}


/* =========================================================
   AJUSTES EXTRA - RANKING INDIVIDUAL + EFEITOS DE TIRO
   ========================================================= */
.individual-ranking-content{
  max-width:1180px !important;
  grid-template-columns:180px minmax(0,1fr) 230px !important;
}

.individual-ranking-main-panel,
.individual-ranking-side,
.individual-filter-panel,
.individual-table-card,
.individual-ranking-list,
.individual-ranking-row,
.individual-player,
.individual-player > div{
  min-width:0;
}

.individual-table-card{
  box-shadow:0 0 24px rgba(187,255,35,.08), inset 0 1px 0 rgba(255,255,255,.03) !important;
}

.individual-table-head,
.individual-ranking-row{
  grid-template-columns:68px minmax(220px,2fr) minmax(140px,1.2fr) minmax(120px,.9fr) 95px 88px !important;
  gap:14px !important;
}

.individual-table-head{
  align-items:center;
}

.individual-ranking-row{
  min-height:74px;
  padding:12px 14px !important;
}

.individual-position{
  font-size:28px;
  line-height:1;
  color:#fff;
  text-shadow:0 0 12px rgba(187,255,35,.18);
}

.individual-player{
  gap:12px;
}

.individual-avatar{
  width:48px;
  height:48px;
  border-width:2px;
  box-shadow:0 0 16px rgba(187,255,35,.14);
}

.individual-player strong{
  font-size:15px;
  margin-bottom:2px;
}

.individual-player span{
  font-size:11px;
  letter-spacing:.1px;
}

.individual-team,
.individual-category{
  font-size:14px;
  color:#edf5e9;
}

.individual-points,
.individual-accuracy{
  font-size:15px;
}

.individual-mini-list a,
.individual-shortcuts a,
.ranking-mini-club-row{
  min-height:42px;
  align-items:center;
}

/* efeito visual no topo da página individual */
.individual-ranking-header,
.individual-table-card,
.podium-card,
.ranking-hltv-right-card,
.individual-ranking-info-box{
  position:relative;
}

.individual-ranking-header::after,
.individual-table-card::after,
.podium-card::after,
.ranking-hltv-right-card::after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(120deg, transparent 0 20%, rgba(187,255,35,.045) 30%, transparent 42% 100%);
  opacity:.6;
}

/* overlay de tiros */
.shot-overlay{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:12;
  overflow:hidden;
}

.shot-tracer,
.shot-flash,
.bullet-hole,
.shot-spark,
.shot-smoke{
  position:absolute;
  pointer-events:none;
}

.shot-tracer{
  height:2px;
  width:220px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(220,255,160,.95) 35%, rgba(187,255,35,.95) 62%, rgba(255,255,255,0));
  box-shadow:0 0 10px rgba(187,255,35,.55), 0 0 22px rgba(255,255,255,.18);
  opacity:.9;
  transform-origin:left center;
  animation:shotTracerFly 1150ms ease-out forwards;
}

.shot-flash{
  width:70px;
  height:70px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,245,160,.95) 0%, rgba(187,255,35,.50) 35%, rgba(255,255,255,0) 72%);
  mix-blend-mode:screen;
  animation:shotFlashFade 550ms ease-out forwards;
}

.shot-spark{
  width:38px;
  height:38px;
  background:
    radial-gradient(circle, rgba(255,255,255,.95) 0 10%, rgba(255,246,120,.88) 11% 18%, rgba(187,255,35,.55) 19% 32%, transparent 33%),
    conic-gradient(from 0deg, transparent 0 8%, rgba(255,255,255,.9) 8% 10%, transparent 10% 16%, rgba(255,246,120,.85) 16% 18%, transparent 18% 24%, rgba(255,255,255,.8) 24% 26%, transparent 26% 100%);
  animation:shotSparkFade 700ms ease-out forwards;
}

.shot-smoke{
  width:72px;
  height:72px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(210,230,190,.18), rgba(120,150,110,.10) 35%, rgba(0,0,0,0) 70%);
  filter:blur(3px);
  animation:shotSmokeDrift 1500ms ease-out forwards;
}

.bullet-hole{
  width:24px;
  height:24px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, #0b0b0b 0 18%, rgba(15,15,15,.9) 19% 28%, rgba(210,255,170,.42) 29% 34%, rgba(0,0,0,0) 35%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.15), rgba(255,255,255,0) 60%);
  box-shadow:0 0 10px rgba(187,255,35,.16);
  animation:bulletHoleSettle 4200ms ease-out forwards;
}

body.weapon-theme .page-noise{
  opacity:.06 !important;
}

@keyframes shotTracerFly{
  0%{opacity:0; transform:translateX(0) scaleX(.15)}
  10%{opacity:1}
  100%{opacity:0; transform:translateX(320px) scaleX(1)}
}

@keyframes shotFlashFade{
  0%{opacity:0; transform:translate(-50%,-50%) scale(.2)}
  18%{opacity:1; transform:translate(-50%,-50%) scale(1)}
  100%{opacity:0; transform:translate(-50%,-50%) scale(1.9)}
}

@keyframes shotSparkFade{
  0%{opacity:0; transform:translate(-50%,-50%) scale(.4) rotate(0deg)}
  20%{opacity:1}
  100%{opacity:0; transform:translate(-50%,-50%) scale(1.8) rotate(40deg)}
}

@keyframes shotSmokeDrift{
  0%{opacity:0; transform:translate(-50%,-50%) scale(.4)}
  18%{opacity:.75}
  100%{opacity:0; transform:translate(calc(-50% + 14px), calc(-50% - 20px)) scale(1.7)}
}

@keyframes bulletHoleSettle{
  0%{opacity:0; transform:translate(-50%,-50%) scale(.2)}
  12%{opacity:1; transform:translate(-50%,-50%) scale(1.08)}
  85%{opacity:.95}
  100%{opacity:.35; transform:translate(-50%,-50%) scale(1)}
}

@media(max-width:1200px){
  .individual-ranking-content{
    grid-template-columns:1fr !important;
  }
  .individual-ranking-side{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:920px){
  .individual-table-head{display:none !important;}
  .individual-ranking-row{
    grid-template-columns:56px 1fr !important;
    gap:8px !important;
  }
  .individual-team,
  .individual-category,
  .individual-points,
  .individual-accuracy{
    grid-column:2 !important;
    text-align:left !important;
  }
  .individual-ranking-side{
    grid-template-columns:1fr !important;
  }
}


/* =========================================================
   EFEITOS ESPECIAIS EXTRA - MARCAS DE TIRO + VIDRO TRINCADO
   ========================================================= */
.shot-overlay{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:14;
  overflow:hidden;
}

.bullet-hole,
.glass-crack,
.shot-flash,
.shot-spark,
.shot-smoke,
.shot-tracer{
  pointer-events:none;
  position:absolute;
}

.bullet-hole{
  width:26px;
  height:26px;
  border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, #040404 0 19%, rgba(10,10,10,.92) 20% 30%, rgba(212,255,178,.40) 31% 36%, rgba(255,255,255,.08) 37% 42%, transparent 43%),
    radial-gradient(circle at 35% 35%, rgba(255,255,255,.18), transparent 55%);
  box-shadow:0 0 12px rgba(187,255,35,.18), inset 0 0 6px rgba(0,0,0,.9);
  opacity:.95;
  animation:bulletHoleSettle 12s ease-out forwards;
}

.bullet-hole.is-persistent{
  opacity:.55;
  animation:bulletPersistentPulse 6s ease-in-out infinite;
}

.glass-crack{
  width:128px;
  height:128px;
  transform:translate(-50%,-50%) rotate(var(--crack-rot, 0deg));
  opacity:.85;
  animation:glassCrackFade 8.5s ease-out forwards;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.38) 0 1px, transparent 2px),
    linear-gradient(0deg, transparent 48%, rgba(225,255,210,.42) 49%, rgba(225,255,210,.15) 50%, transparent 52%),
    linear-gradient(27deg, transparent 46%, rgba(225,255,210,.25) 48%, transparent 50%),
    linear-gradient(63deg, transparent 46%, rgba(225,255,210,.32) 48%, transparent 50%),
    linear-gradient(108deg, transparent 46%, rgba(225,255,210,.22) 48%, transparent 50%),
    linear-gradient(145deg, transparent 46%, rgba(225,255,210,.28) 48%, transparent 50%);
  filter:drop-shadow(0 0 4px rgba(255,255,255,.12));
  mask:radial-gradient(circle, black 0 48%, transparent 76%);
}

.glass-crack::before,
.glass-crack::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(12deg, transparent 47%, rgba(225,255,210,.23) 48%, transparent 49%),
    linear-gradient(88deg, transparent 47%, rgba(225,255,210,.18) 48%, transparent 49%),
    linear-gradient(132deg, transparent 47%, rgba(225,255,210,.22) 48%, transparent 49%);
  mask:radial-gradient(circle, black 0 55%, transparent 80%);
}

.glass-crack::after{
  transform:rotate(24deg) scale(.88);
  opacity:.78;
}

body.weapon-theme .individual-ranking-header,
body.weapon-theme .ranking-hltv-main,
body.weapon-theme .site{
  position:relative;
}

body.weapon-theme .individual-ranking-header::before,
body.weapon-theme .ranking-hltv-main::before,
body.weapon-theme .site::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(115deg, transparent 0 20%, rgba(187,255,35,.025) 28%, transparent 40% 100%);
  mix-blend-mode:screen;
}

@keyframes glassCrackFade{
  0%{opacity:0; transform:translate(-50%,-50%) scale(.25) rotate(var(--crack-rot, 0deg));}
  10%{opacity:1;}
  100%{opacity:.16; transform:translate(-50%,-50%) scale(1) rotate(var(--crack-rot, 0deg));}
}

@keyframes bulletPersistentPulse{
  0%,100%{opacity:.42; box-shadow:0 0 9px rgba(187,255,35,.10), inset 0 0 6px rgba(0,0,0,.9)}
  50%{opacity:.68; box-shadow:0 0 14px rgba(187,255,35,.18), inset 0 0 6px rgba(0,0,0,.95)}
}


/* ====== Ajustes ranking individual / feminino ====== */
.individual-ranking-info-box{border:1px solid rgba(187,255,35,.24); box-shadow:inset 0 0 0 1px rgba(187,255,35,.03)}
.individual-ranking-tabs button{cursor:pointer}
.individual-player strong{display:block; line-height:1.15}
.individual-player span{display:block; color:var(--muted); font-size:12px; margin-top:4px}
.ranking-hltv-nav a.active{border-bottom:2px solid var(--lime); padding-bottom:6px}
.profile-info-grid, .stats-grid{align-items:stretch}
.registered-participant span, .registered-participant small{display:block}

/* ====== Efeitos realistas de tiro ====== */
.shot-overlay{position:fixed; inset:0; pointer-events:none; z-index:14; overflow:hidden}
.shot-tracer,.shot-flash,.shot-smoke,.bullet-hole,.glass-crack,.shot-debris{position:absolute; pointer-events:none}
.shot-tracer{
  width:260px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, rgba(255,255,255,0) 0%, rgba(240,255,210,.15) 20%, rgba(240,255,210,.92) 55%, rgba(187,255,35,.75) 70%, rgba(255,255,255,0) 100%);
  box-shadow:0 0 4px rgba(230,255,210,.35), 0 0 10px rgba(187,255,35,.2);
  transform-origin:left center; opacity:.88; animation:shotTracerFly 820ms linear forwards;
}
.shot-flash{
  width:38px; height:38px; transform:translate(-50%,-50%); border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,.95) 0 8%, rgba(225,255,190,.36) 22%, rgba(187,255,35,.16) 38%, transparent 72%);
  mix-blend-mode:screen; animation:shotFlashTight 260ms ease-out forwards;
}
.shot-smoke{
  width:54px; height:54px; transform:translate(-50%,-50%); border-radius:50%;
  background:radial-gradient(circle, rgba(210,225,195,.24), rgba(115,125,115,.10) 42%, rgba(0,0,0,0) 72%);
  filter:blur(5px); animation:shotSmokeDust 900ms ease-out forwards;
}
.shot-debris{width:1px; height:1px; transform:translate(-50%,-50%)}
.shot-debris span{
  position:absolute; left:0; top:0; width:12px; height:2px; border-radius:2px;
  background:linear-gradient(90deg, rgba(255,255,255,.9), rgba(205,220,195,.25));
  transform:rotate(var(--rot)) translate(0,0); animation:debrisScatter 700ms ease-out forwards;
}
.bullet-hole{
  width:30px; height:30px; transform:translate(-50%,-50%); border-radius:50%;
  background:
    radial-gradient(circle at 50% 50%, #050505 0 18%, #141414 19% 30%, rgba(220,220,220,.15) 31% 36%, rgba(187,255,35,.12) 37% 40%, transparent 41%),
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.14), transparent 60%);
  box-shadow: inset 0 0 4px rgba(0,0,0,.95), 0 0 9px rgba(187,255,35,.10);
  animation:bulletHoleSettle 14s ease-out forwards;
}
.bullet-hole::before,.bullet-hole::after{
  content:""; position:absolute; left:50%; top:50%; width:54px; height:1px; transform-origin:center;
  background:linear-gradient(90deg, transparent, rgba(235,245,225,.24), transparent);
}
.bullet-hole::before{transform:translate(-50%,-50%) rotate(18deg)}
.bullet-hole::after{transform:translate(-50%,-50%) rotate(-36deg)}
.bullet-hole.is-persistent{opacity:.55; animation:bulletPersistentPulse 6s ease-in-out infinite}
.glass-crack{
  width:140px; height:140px; transform:translate(-50%,-50%) rotate(var(--crack-rot,0deg)); opacity:.8;
  background:
    radial-gradient(circle at 50% 50%, rgba(255,255,255,.35) 0 1px, transparent 2px),
    linear-gradient(0deg, transparent 49%, rgba(230,255,210,.24) 50%, transparent 51%),
    linear-gradient(24deg, transparent 49%, rgba(230,255,210,.18) 50%, transparent 51%),
    linear-gradient(57deg, transparent 49%, rgba(230,255,210,.14) 50%, transparent 51%),
    linear-gradient(113deg, transparent 49%, rgba(230,255,210,.16) 50%, transparent 51%),
    linear-gradient(148deg, transparent 49%, rgba(230,255,210,.15) 50%, transparent 51%);
  mask:radial-gradient(circle, black 0 52%, transparent 84%);
  animation:glassCrackFadeReal 12s ease-out forwards;
}
.glass-crack::before,.glass-crack::after{content:""; position:absolute; inset:0; background:
  linear-gradient(10deg, transparent 49%, rgba(230,255,210,.12) 50%, transparent 51%),
  linear-gradient(90deg, transparent 49%, rgba(230,255,210,.09) 50%, transparent 51%),
  linear-gradient(133deg, transparent 49%, rgba(230,255,210,.11) 50%, transparent 51%);
  mask:radial-gradient(circle, black 0 56%, transparent 85%);
}
.glass-crack::after{transform:rotate(18deg) scale(.92)}
.glass-crack.is-persistent{opacity:.22; animation:none}
@keyframes shotFlashTight{0%{opacity:1; transform:translate(-50%,-50%) scale(.35)}100%{opacity:0; transform:translate(-50%,-50%) scale(1.2)}}
@keyframes shotSmokeDust{0%{opacity:.45; transform:translate(-50%,-50%) scale(.2)}100%{opacity:0; transform:translate(-50%,-50%) scale(1.3)}}
@keyframes debrisScatter{0%{opacity:1; transform:rotate(var(--rot)) translate(0,0)}100%{opacity:0; transform:rotate(var(--rot)) translate(var(--dx), var(--dy))}}
@keyframes glassCrackFadeReal{0%{opacity:0; transform:translate(-50%,-50%) scale(.3) rotate(var(--crack-rot,0deg))}10%{opacity:.9}100%{opacity:.18; transform:translate(-50%,-50%) scale(1) rotate(var(--crack-rot,0deg))}}


/* =========================================================
   PAINEL ADMIN MAIS BONITO E FÁCIL DE MEXER
   ========================================================= */
.admin-page{
  background:
    radial-gradient(circle at 50% -120px, rgba(187,255,35,.16), transparent 420px),
    radial-gradient(circle at 5% 40%, rgba(187,255,35,.055), transparent 260px),
    #000 !important;
}

.admin-shell{
  width:min(1380px, calc(100vw - 28px)) !important;
  max-width:1380px !important;
  display:grid;
  grid-template-columns:250px minmax(0, 1fr);
  gap:16px;
  align-items:start;
  padding:18px !important;
  border:0 !important;
  background:transparent !important;
}

.admin-header,
.admin-dashboard,
.admin-quick-panel,
.admin-workbar{
  grid-column:1 / -1;
}

.admin-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:1px solid rgba(187,255,35,.20) !important;
  background:
    radial-gradient(circle at 15% 0%, rgba(187,255,35,.16), transparent 300px),
    linear-gradient(180deg, #091109, #030503) !important;
  border-radius:18px;
  box-shadow:0 0 34px rgba(187,255,35,.08);
}

.admin-header > div:last-child{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  justify-content:flex-end;
}

.admin-title-logo{
  min-width:0;
}

.admin-title-logo h1{
  margin:0;
  color:#fff;
  text-transform:uppercase;
  letter-spacing:.03em;
  font-size:26px;
}

.admin-title-logo p{
  color:#cbd6c4;
  margin-top:5px;
  max-width:780px;
}

.admin-logo{
  width:150px !important;
  max-height:70px !important;
  filter:drop-shadow(0 0 18px rgba(187,255,35,.22));
}

.danger-soft{
  border-color:rgba(255,89,89,.35) !important;
  color:#ffd2d2 !important;
}

.admin-dashboard{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:12px;
}

.dash-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(187,255,35,.18);
  background:
    linear-gradient(180deg, rgba(9,17,9,.98), rgba(3,6,3,.98));
  border-radius:16px;
  padding:16px;
  min-height:112px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
}

.dash-card::after{
  content:"";
  position:absolute;
  inset:auto -30px -40px auto;
  width:130px;
  height:130px;
  background:radial-gradient(circle, rgba(187,255,35,.16), transparent 65%);
  pointer-events:none;
}

.dash-card.primary{
  border-color:rgba(187,255,35,.42);
  box-shadow:0 0 26px rgba(187,255,35,.08);
}

.dash-card span{
  color:#aeb8a9;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
}

.dash-card strong{
  display:block;
  color:#bbff23;
  font-size:38px;
  line-height:1;
  margin:9px 0;
}

.dash-card small{
  color:#dbe4d5;
}

.admin-quick-panel{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:1px solid rgba(187,255,35,.16);
  border-radius:16px;
  background:
    linear-gradient(90deg, rgba(187,255,35,.10), rgba(187,255,35,.025)),
    #050805;
  padding:15px;
}

.admin-quick-panel b{
  display:block;
  color:#fff;
  font-size:18px;
  text-transform:uppercase;
}

.admin-quick-panel p{
  color:#aeb8a9;
  margin:4px 0 0;
  line-height:1.35;
}

.quick-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.quick-actions button{
  background:#101b0b !important;
  color:#f6ffc7 !important;
  border:1px solid rgba(187,255,35,.32) !important;
  padding:10px 12px;
  border-radius:10px;
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
}

.admin-workbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border:1px solid rgba(187,255,35,.14);
  border-radius:14px;
  background:#030503;
  padding:12px;
  position:sticky;
  top:0;
  z-index:35;
  box-shadow:0 12px 28px rgba(0,0,0,.38);
}

.admin-workbar span,
.admin-search-box span{
  display:block;
  color:#9aa193;
  font-size:11px;
  text-transform:uppercase;
  font-weight:900;
  margin-bottom:4px;
}

.admin-workbar strong{
  color:#bbff23;
  font-size:17px;
  text-transform:uppercase;
}

.admin-search-box{
  min-width:min(440px, 100%);
}

.admin-search-box input{
  width:100%;
  background:#020402 !important;
  border:1px solid rgba(187,255,35,.24) !important;
  color:#fff !important;
  padding:11px 12px !important;
  border-radius:10px;
}

.admin-tabs{
  grid-column:1;
  grid-row:auto / span 20;
  position:sticky !important;
  top:86px !important;
  display:grid !important;
  gap:8px !important;
  padding:12px !important;
  border:1px solid rgba(187,255,35,.16) !important;
  border-radius:18px;
  background:
    linear-gradient(180deg, rgba(8,16,8,.98), rgba(2,4,2,.98)) !important;
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}

.admin-tabs::before{
  content:"Menu do painel";
  color:#bbff23;
  text-transform:uppercase;
  font-weight:900;
  font-size:12px;
  padding:5px 6px 9px;
  border-bottom:1px solid rgba(187,255,35,.12);
  margin-bottom:4px;
}

.admin-tabs button{
  width:100%;
  justify-content:flex-start;
  text-align:left;
  border-radius:12px;
  min-height:44px;
  padding:0 13px !important;
  background:#050805 !important;
  border:1px solid rgba(187,255,35,.10) !important;
  color:#dfe8d8 !important;
  font-weight:900;
  font-size:13px;
}

.admin-tabs button:hover{
  background:rgba(187,255,35,.075) !important;
  border-color:rgba(187,255,35,.25) !important;
  transform:translateX(2px);
}

.admin-tabs button.active{
  background:
    linear-gradient(90deg, rgba(187,255,35,.20), rgba(187,255,35,.035)) !important;
  border-color:rgba(187,255,35,.55) !important;
  color:#bbff23 !important;
  box-shadow:0 0 22px rgba(187,255,35,.11);
}

.admin-tab{
  grid-column:2;
  min-width:0;
  border:1px solid rgba(187,255,35,.12);
  border-radius:18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(187,255,35,.06), transparent 320px),
    linear-gradient(180deg, rgba(6,10,6,.92), rgba(2,4,2,.96));
  padding:16px;
}

.admin-tab:not(.active){
  display:none !important;
}

.admin-section-intro{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  border:1px solid rgba(187,255,35,.14);
  border-radius:16px;
  background:
    linear-gradient(90deg, rgba(187,255,35,.08), transparent),
    #050805;
  padding:15px;
  margin-bottom:14px;
}

.admin-section-intro span{
  color:#bbff23;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.admin-section-intro h2{
  color:#fff;
  margin:4px 0 6px;
  font-size:24px;
  line-height:1;
}

.admin-section-intro p{
  color:#c3ccb9;
  margin:0;
  max-width:720px;
  line-height:1.35;
}

.section-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.sponsor-position-map{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  min-width:320px;
}

.sponsor-position-map button{
  min-height:42px;
  background:#101b0b !important;
  color:#dfffc0 !important;
  border:1px solid rgba(187,255,35,.28) !important;
  border-radius:10px;
  font-weight:900;
  font-size:12px;
}

.admin-form.easy-form,
.admin-form{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  gap:12px !important;
  padding:16px !important;
  border-radius:16px !important;
  border:1px solid rgba(187,255,35,.16) !important;
  background:#030503 !important;
}

.admin-form h2,
.admin-form .form-help,
.admin-form > p,
.admin-form > button,
.admin-form .admin-image-preview{
  grid-column:1 / -1;
}

.admin-form h2{
  margin:0 0 2px !important;
  color:#bbff23 !important;
  text-transform:uppercase;
  font-size:18px !important;
}

.admin-form label{
  color:#f2f6ed;
  font-weight:900;
  display:grid;
  gap:7px;
}

.admin-form input,
.admin-form select,
.admin-form textarea{
  border-radius:10px !important;
  min-height:42px;
  background:#020402 !important;
  border:1px solid rgba(187,255,35,.20) !important;
  color:#fff !important;
  padding:10px 12px !important;
}

.admin-form textarea{
  min-height:110px;
  resize:vertical;
}

.admin-form input[type="file"]{
  padding:9px !important;
  background:
    linear-gradient(180deg, rgba(187,255,35,.08), rgba(187,255,35,.025)) !important;
}

.admin-form input:focus,
.admin-form select:focus,
.admin-form textarea:focus{
  border-color:rgba(187,255,35,.68) !important;
  box-shadow:0 0 0 3px rgba(187,255,35,.10);
}

.admin-form button[type="submit"]{
  min-height:46px;
}

.saved-pulse{
  animation:savedPulse .9s ease;
}

@keyframes savedPulse{
  0%{box-shadow:0 0 0 rgba(187,255,35,0)}
  45%{box-shadow:0 0 28px rgba(187,255,35,.28)}
  100%{box-shadow:0 0 0 rgba(187,255,35,0)}
}

.admin-image-preview{
  border:1px dashed rgba(187,255,35,.30);
  border-radius:16px;
  min-height:116px;
  background:
    radial-gradient(circle at 18% 18%, rgba(187,255,35,.08), transparent 220px),
    #020402;
  display:flex;
  align-items:center;
  gap:14px;
  padding:12px;
  overflow:hidden;
}

.admin-image-preview img{
  width:170px;
  height:96px;
  object-fit:cover;
  border-radius:12px;
  border:1px solid rgba(187,255,35,.18);
  background:#000;
}

.admin-image-preview b{
  display:block;
  color:#fff;
  margin-bottom:4px;
}

.admin-image-preview span{
  color:#9aa193;
  font-size:12px;
}

.preview-empty{
  display:grid;
  gap:4px;
}

.admin-list{
  margin-top:14px;
  display:grid;
  gap:10px;
}

.admin-row{
  display:grid !important;
  grid-template-columns:86px minmax(0,1fr) auto !important;
  gap:12px;
  align-items:center;
  border:1px solid rgba(187,255,35,.12) !important;
  background:
    linear-gradient(180deg, rgba(8,14,8,.98), rgba(2,4,2,.98)) !important;
  border-radius:14px;
  padding:10px !important;
  transition:.18s ease;
}

.admin-row:hover{
  border-color:rgba(187,255,35,.36) !important;
  transform:translateY(-1px);
  box-shadow:0 0 18px rgba(187,255,35,.08);
}

.admin-row img{
  width:86px !important;
  height:58px !important;
  border-radius:10px;
  object-fit:cover;
  border:1px solid rgba(187,255,35,.14);
  background:#000;
}

.admin-row h4{
  color:#fff;
  margin:0 0 4px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.admin-row p{
  color:#aeb8a9;
  margin:0;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.admin-row-actions{
  display:flex;
  gap:8px;
  align-items:center;
}

.admin-row-actions button{
  min-height:36px;
  border-radius:10px;
  padding:0 11px !important;
}

.admin-row-actions .edit{
  background:rgba(187,255,35,.13) !important;
  color:#bbff23 !important;
  border:1px solid rgba(187,255,35,.32) !important;
}

.admin-row-actions .del{
  background:rgba(255,80,80,.08) !important;
  color:#ffd2d2 !important;
  border:1px solid rgba(255,80,80,.25) !important;
}

.form-help{
  border-radius:14px !important;
  border:1px solid rgba(187,255,35,.14) !important;
  background:#050805 !important;
  color:#d7e0d1 !important;
  line-height:1.45;
}

@media(max-width:1100px){
  .admin-shell{
    grid-template-columns:1fr;
  }

  .admin-tabs,
  .admin-tab{
    grid-column:1;
  }

  .admin-tabs{
    position:relative !important;
    top:auto !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .admin-tabs::before{
    grid-column:1 / -1;
  }

  .admin-dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .admin-quick-panel,
  .admin-workbar,
  .admin-section-intro{
    display:grid;
  }

  .sponsor-position-map{
    min-width:0;
  }

  .admin-search-box{
    min-width:0;
  }
}

@media(max-width:700px){
  .admin-shell{
    width:calc(100vw - 14px) !important;
    padding:8px !important;
  }

  .admin-header{
    display:grid;
  }

  .admin-title-logo{
    display:grid;
  }

  .admin-dashboard,
  .admin-tabs,
  .admin-form,
  .admin-form.easy-form,
  .sponsor-position-map{
    grid-template-columns:1fr !important;
  }

  .admin-row{
    grid-template-columns:72px 1fr !important;
  }

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

  .admin-image-preview{
    display:grid;
  }

  .admin-image-preview img{
    width:100% !important;
    height:auto !important;
  }
}


/* Correção de carregamento do admin */
.admin-load-warning{
  grid-column:1/-1;
  border:1px solid rgba(187,255,35,.18);
  background:#050805;
  color:#c8d0c0;
  padding:10px 12px;
  border-radius:12px;
  font-size:12px;
}

.admin-empty{
  border:1px solid rgba(187,255,35,.12);
  background:#050805;
  color:#c8d0c0;
  padding:14px;
  border-radius:12px;
}

.admin-login-screen{
  z-index:99999 !important;
}

.admin-shell{
  min-height:60vh;
}

.admin-tab.active{
  display:block !important;
}

.admin-row-actions button{
  cursor:pointer;
}


/* =========================================================
   ADMIN LEVE D20 - SEM TRAVAR
   ========================================================= */
.admin-lite-page{
  background:#000 !important;
}

.admin-lite-page::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  background:
    radial-gradient(circle at 50% -120px, rgba(187,255,35,.16), transparent 420px),
    radial-gradient(circle at 10% 80%, rgba(187,255,35,.06), transparent 300px),
    #000;
}

.admin-lite-shell{
  width:min(1380px, calc(100vw - 28px));
  margin:0 auto;
  padding:18px;
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.admin-lite-header,
.admin-lite-dashboard,
.admin-lite-help{
  grid-column:1 / -1;
}

.admin-lite-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  border:1px solid rgba(187,255,35,.20);
  background:linear-gradient(180deg,#091109,#030503);
  border-radius:18px;
  padding:16px;
  box-shadow:0 0 30px rgba(187,255,35,.08);
}

.admin-lite-header h1{
  margin:0;
  color:#fff;
  text-transform:uppercase;
}

.admin-lite-header p{
  margin:5px 0 0;
  color:#c8d0c0;
}

.admin-lite-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.admin-lite-dashboard{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.admin-lite-dashboard article{
  border:1px solid rgba(187,255,35,.18);
  background:linear-gradient(180deg,#091109,#030503);
  border-radius:16px;
  padding:15px;
}

.admin-lite-dashboard span{
  color:#9aa193;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
}

.admin-lite-dashboard b{
  display:block;
  color:#bbff23;
  font-size:34px;
  margin-top:5px;
}

.admin-lite-help{
  border:1px solid rgba(187,255,35,.16);
  background:#050805;
  color:#dbe5d5;
  padding:13px 15px;
  border-radius:14px;
}

.admin-lite-help b{
  color:#bbff23;
}

.admin-lite-tabs{
  position:sticky;
  top:12px;
  display:grid;
  gap:8px;
  border:1px solid rgba(187,255,35,.16);
  background:linear-gradient(180deg,#081008,#020402);
  border-radius:18px;
  padding:12px;
}

.admin-lite-tabs button{
  text-align:left;
  min-height:44px;
  border-radius:12px;
  border:1px solid rgba(187,255,35,.12);
  background:#050805;
  color:#dfe8d8;
  font-weight:900;
  padding:0 13px;
}

.admin-lite-tabs button.active,
.admin-lite-tabs button:hover{
  color:#bbff23;
  background:rgba(187,255,35,.10);
  border-color:rgba(187,255,35,.42);
}

.admin-lite-content{
  min-width:0;
  border:1px solid rgba(187,255,35,.12);
  background:linear-gradient(180deg,#050805,#020402);
  border-radius:18px;
  padding:16px;
}

.admin-lite-search{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:14px;
  border:1px solid rgba(187,255,35,.14);
  background:#030503;
  border-radius:14px;
  padding:12px;
}

.admin-lite-search strong{
  color:#bbff23;
  text-transform:uppercase;
}

.admin-lite-search input{
  width:min(460px,100%);
  background:#020402;
  border:1px solid rgba(187,255,35,.24);
  color:#fff;
  padding:11px 12px;
  border-radius:10px;
}

.admin-tab{
  display:none;
}

.admin-tab.active{
  display:block;
}

.admin-lite-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  border:1px solid rgba(187,255,35,.16);
  background:#030503;
  padding:15px;
  border-radius:16px;
  margin-bottom:12px;
}

.admin-lite-form label{
  display:grid;
  gap:7px;
  color:#f2f6ed;
  font-weight:900;
}

.admin-lite-form input,
.admin-lite-form select,
.admin-lite-form textarea{
  width:100%;
  min-height:42px;
  background:#020402;
  border:1px solid rgba(187,255,35,.22);
  color:#fff;
  padding:10px 12px;
  border-radius:10px;
}

.admin-lite-form textarea{
  min-height:110px;
}

.admin-lite-form .wide,
.admin-lite-form button{
  grid-column:1 / -1;
}

.admin-tip{
  color:#c8d0c0;
  border:1px solid rgba(187,255,35,.12);
  background:#050805;
  padding:10px;
  border-radius:12px;
  margin-bottom:12px;
}

.admin-lite-list{
  display:grid;
  gap:10px;
}

.admin-lite-row{
  display:grid;
  grid-template-columns:88px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  border:1px solid rgba(187,255,35,.12);
  background:#040704;
  border-radius:14px;
  padding:10px;
}

.admin-lite-row:hover{
  border-color:rgba(187,255,35,.35);
}

.admin-lite-row .thumb{
  width:88px;
  height:58px;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(187,255,35,.15);
  background:#000;
  display:grid;
  place-items:center;
}

.admin-lite-row img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.admin-lite-row h3{
  margin:0 0 4px;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.admin-lite-row p{
  margin:0;
  color:#9aa193;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.no-image{
  font-size:11px;
  color:#9aa193;
}

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

.row-actions button{
  min-height:36px;
  border-radius:10px;
  border:1px solid rgba(187,255,35,.26);
  background:#101b0b;
  color:#bbff23;
  font-weight:900;
  padding:0 11px;
}

.row-actions button[data-del]{
  border-color:rgba(255,85,85,.28);
  color:#ffd0d0;
  background:rgba(255,85,85,.08);
}

.admin-lite-empty{
  border:1px solid rgba(187,255,35,.12);
  background:#050805;
  color:#c8d0c0;
  padding:14px;
  border-radius:12px;
}

@media(max-width:1000px){
  .admin-lite-shell{
    grid-template-columns:1fr;
  }
  .admin-lite-tabs{
    position:relative;
    top:auto;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-lite-dashboard{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:650px){
  .admin-lite-shell{
    width:calc(100vw - 12px);
    padding:8px;
  }
  .admin-lite-header,
  .admin-lite-search{
    display:grid;
  }
  .admin-lite-dashboard,
  .admin-lite-tabs,
  .admin-lite-form{
    grid-template-columns:1fr;
  }
  .admin-lite-row{
    grid-template-columns:72px 1fr;
  }
  .row-actions{
    grid-column:1/-1;
  }
}


/* =========================================================
   PÁGINA PERFIL DO ATLETA - ESTILO HLTV / D20
   ========================================================= */
.athlete-profile-link{
  text-decoration:none !important;
  color:inherit !important;
  cursor:pointer;
}

a.individual-ranking-row,
a.ranking-player-row{
  color:inherit;
}

.individual-ranking-row:hover,
.ranking-player-row:hover,
.showcase-player:hover,
.podium-card:hover{
  border-color:rgba(187,255,35,.46) !important;
  box-shadow:0 0 24px rgba(187,255,35,.11) !important;
}

.player-profile-page{
  margin:0;
  min-height:100vh;
  background:
    radial-gradient(circle at 50% -180px, rgba(187,255,35,.16), transparent 450px),
    radial-gradient(circle at 0 45%, rgba(187,255,35,.05), transparent 380px),
    #000;
  color:#e9efe4;
  font-family:Arial, Helvetica, sans-serif;
}

.player-profile-shell{
  width:min(1180px, calc(100vw - 28px));
  margin:0 auto;
  padding:16px 0 40px;
}

.player-topbar{
  height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  border:1px solid rgba(187,255,35,.16);
  background:linear-gradient(180deg,#101b0b,#060b05);
  border-radius:14px;
  padding:0 14px;
  position:sticky;
  top:10px;
  z-index:10;
  box-shadow:0 14px 34px rgba(0,0,0,.35);
}

.brand-mini{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:900;
  color:#fff;
  text-transform:uppercase;
}

.brand-mini img{
  height:36px;
  object-fit:contain;
}

.player-topbar nav{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.player-topbar nav a{
  color:#dfe8d8;
  font-size:13px;
  font-weight:800;
}

.player-topbar nav a:hover{
  color:#bbff23;
}

.player-hero-card{
  margin-top:16px;
  display:grid;
  grid-template-columns:190px 1fr 170px;
  gap:18px;
  align-items:center;
  border:1px solid rgba(187,255,35,.18);
  background:
    radial-gradient(circle at 15% 0%, rgba(187,255,35,.16), transparent 330px),
    linear-gradient(180deg,#263341,#18212a);
  border-radius:16px;
  padding:18px;
  overflow:hidden;
  position:relative;
}

.player-hero-card::after{
  content:"";
  position:absolute;
  right:-80px;
  top:-80px;
  width:260px;
  height:260px;
  background:radial-gradient(circle, rgba(187,255,35,.16), transparent 70%);
  pointer-events:none;
}

.player-avatar-big{
  width:170px;
  height:170px;
  border-radius:18px;
  border:2px solid rgba(187,255,35,.38);
  background:#050805;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#bbff23;
  font-size:44px;
  font-weight:900;
  box-shadow:0 0 28px rgba(187,255,35,.10);
}

.player-avatar-big img,
.player-side-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.player-main-info{
  min-width:0;
}

.player-label{
  color:#bbff23;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.player-main-info h1{
  margin:8px 0 8px;
  font-size:44px;
  line-height:1;
  color:#fff;
  text-transform:uppercase;
}

.player-main-info p{
  color:#c8d0c0;
  margin:0 0 14px;
}

.player-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.player-tags span{
  border:1px solid rgba(187,255,35,.22);
  color:#eaffb8;
  background:rgba(187,255,35,.07);
  padding:7px 10px;
  border-radius:999px;
  font-size:12px;
  font-weight:900;
}

.player-rank-box{
  position:relative;
  z-index:1;
  border:1px solid rgba(187,255,35,.24);
  background:rgba(0,0,0,.32);
  border-radius:16px;
  padding:18px;
  text-align:center;
}

.player-rank-box span,
.rating-circle span{
  display:block;
  color:#9aa193;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.player-rank-box strong{
  display:block;
  color:#bbff23;
  font-size:48px;
  line-height:1;
  margin:7px 0;
}

.player-rank-box small{
  color:#dbe6d5;
}

.profile-ad-banner{
  margin:16px 0;
  min-height:118px;
  border:1px solid rgba(187,255,35,.18);
  border-radius:16px;
  background:
    linear-gradient(90deg, rgba(0,0,0,.6), rgba(0,0,0,.15)),
    radial-gradient(circle at 70% 50%, rgba(187,255,35,.20), transparent 280px),
    linear-gradient(135deg,#151515,#3b1008 45%,#090909);
  display:grid;
  align-content:center;
  padding:24px;
  overflow:hidden;
}

.profile-ad-banner span{
  color:#bbff23;
  font-size:12px;
  text-transform:uppercase;
  font-weight:900;
}

.profile-ad-banner strong{
  display:block;
  color:#fff;
  font-size:36px;
  text-transform:uppercase;
  line-height:1;
  margin:5px 0;
}

.profile-ad-banner small{
  color:#d6ded0;
}

.player-tabs{
  display:flex;
  overflow:auto;
  border:1px solid rgba(187,255,35,.14);
  background:#243241;
  border-radius:14px;
}

.player-tabs button{
  flex:0 0 auto;
  border:0 !important;
  border-right:1px solid rgba(255,255,255,.08) !important;
  background:transparent !important;
  color:#c8d0c0 !important;
  padding:14px 17px !important;
  font-weight:800;
}

.player-tabs button.active{
  color:#bbff23 !important;
  box-shadow:inset 0 -3px 0 #bbff23;
}

.player-overview-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:250px 1fr;
  gap:16px;
}

.player-card{
  border:1px solid rgba(187,255,35,.16);
  background:
    radial-gradient(circle at 100% 0%, rgba(187,255,35,.06), transparent 260px),
    linear-gradient(180deg,#111b24,#080d12);
  border-radius:16px;
  padding:16px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035);
}

.player-identity-card{
  text-align:center;
}

.player-side-avatar{
  width:148px;
  height:148px;
  border-radius:18px;
  border:2px solid rgba(187,255,35,.35);
  margin:0 auto 12px;
  display:grid;
  place-items:center;
  background:#050805;
  color:#bbff23;
  font-size:36px;
  font-weight:900;
  overflow:hidden;
}

.player-identity-card h2{
  margin:0 0 4px;
  color:#fff;
}

.player-identity-card p{
  color:#9aa193;
  margin:0 0 13px;
}

.player-rating-panel{
  display:grid;
  grid-template-columns:220px 1fr;
  gap:18px;
  align-items:center;
}

.rating-circle{
  width:190px;
  height:190px;
  border-radius:50%;
  border:8px solid rgba(187,255,35,.18);
  border-top-color:#bbff23;
  border-right-color:#6fc5ff;
  display:grid;
  place-items:center;
  align-content:center;
  margin:auto;
  background:#0a1017;
}

.rating-circle strong{
  font-size:46px;
  line-height:1;
  color:#fff;
}

.rating-circle small{
  color:#bbff23;
  font-weight:900;
  margin-top:4px;
}

.player-kpi-row{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.player-kpi-row div,
.duel-summary div,
.detailed-stats-grid article{
  border:1px solid rgba(187,255,35,.12);
  background:rgba(0,0,0,.22);
  border-radius:14px;
  padding:14px;
}

.player-kpi-row b,
.duel-summary strong,
.detailed-stats-grid strong{
  display:block;
  color:#fff;
  font-size:26px;
  line-height:1;
}

.player-kpi-row span,
.duel-summary span,
.detailed-stats-grid span,
.detailed-stats-grid small{
  color:#9aa193;
  font-size:12px;
  font-weight:800;
}

.profile-layout{
  margin-top:16px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
}

.card-title-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  margin-bottom:14px;
}

.card-title-row h2{
  margin:0;
  color:#fff;
  text-transform:uppercase;
  font-size:20px;
}

.card-title-row span{
  color:#9aa193;
  font-size:12px;
  font-weight:800;
}

.stat-bars{
  display:grid;
  gap:12px;
}

.profile-bar{
  display:grid;
  gap:7px;
}

.profile-bar > div{
  display:flex;
  justify-content:space-between;
  gap:12px;
}

.profile-bar strong{
  color:#dfe8d8;
}

.profile-bar span{
  color:#9aa193;
  font-size:12px;
  font-weight:900;
}

.profile-bar i{
  display:block;
  height:7px;
  border-radius:999px;
  background:#2e3a45;
  overflow:hidden;
}

.profile-bar b{
  display:block;
  height:100%;
  background:linear-gradient(90deg,#2e9bff,#bbff23);
}

.duel-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
}

.detailed-stats-card{
  margin-top:16px;
}

.detailed-stats-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}

.detailed-stats-grid article{
  min-height:112px;
}

.detailed-stats-grid strong{
  color:#bbff23;
  margin:8px 0 4px;
}

.player-notes{
  color:#d6ded0;
  line-height:1.5;
}

@media(max-width:950px){
  .player-hero-card,
  .player-overview-grid,
  .player-rating-panel,
  .profile-layout{
    grid-template-columns:1fr;
  }

  .player-avatar-big{
    width:130px;
    height:130px;
  }

  .player-main-info h1{
    font-size:32px;
  }

  .player-kpi-row,
  .detailed-stats-grid{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:620px){
  .player-topbar{
    height:auto;
    display:grid;
    padding:12px;
  }

  .player-topbar nav{
    display:grid;
  }

  .player-kpi-row,
  .detailed-stats-grid,
  .duel-summary{
    grid-template-columns:1fr;
  }

  .profile-ad-banner strong{
    font-size:28px;
  }
}


/* Explicação do Rating D20 dentro do perfil do atleta */
.player-rating-content{
  display:grid;
  gap:14px;
}

.rating-explanation{
  border:1px solid rgba(187,255,35,.18);
  background:
    linear-gradient(90deg, rgba(187,255,35,.08), rgba(187,255,35,.02)),
    rgba(0,0,0,.25);
  border-radius:14px;
  padding:14px;
}

.rating-explanation strong{
  display:block;
  color:#bbff23;
  text-transform:uppercase;
  font-size:13px;
  margin-bottom:6px;
}

.rating-explanation p{
  margin:0;
  color:#dce6d6;
  line-height:1.45;
  font-size:13px;
}


/* =========================================================
   ACABAMENTO FINAL PARA LANÇAMENTO D20
   ========================================================= */
:root{
  --launch-lime:#bbff23;
  --launch-blue:#6fc5ff;
  --launch-bg:#000;
  --launch-panel:#081008;
  --launch-panel2:#111b24;
  --launch-line:rgba(187,255,35,.18);
  --launch-muted:#9aa193;
}

body:not(.admin-lite-page){
  text-rendering:geometricPrecision;
}

.topbar,
.ranking-hltv-topbar,
.player-topbar{
  backdrop-filter:blur(10px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:2px solid var(--launch-lime) !important;
  outline-offset:2px;
}

.card,
.player-card,
.ranking-team-card,
.individual-table-card,
.participant-card{
  border-radius:16px !important;
}

/* Home e ranking mais pronto */
.hero,
.next-card,
.news-item,
.event-item,
.home-ranking-card,
.home-register-section{
  box-shadow:0 0 26px rgba(187,255,35,.06);
}

.hero h1,
.section-title,
.ranking-hltv-title strong,
.player-main-info h1{
  letter-spacing:-.035em;
}

.ranking-hltv-nav a,
.topbar nav a{
  font-weight:850;
}

/* Página perfil atleta lançamento */
.player-profile-v2{
  background:
    radial-gradient(circle at 50% -180px, rgba(187,255,35,.18), transparent 480px),
    radial-gradient(circle at 6% 50%, rgba(111,197,255,.07), transparent 360px),
    radial-gradient(circle at 95% 25%, rgba(187,255,35,.07), transparent 320px),
    #000;
}

.player-profile-v2::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
  background-image:
    linear-gradient(rgba(187,255,35,.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(187,255,35,.035) 1px, transparent 1px);
  background-size:44px 44px;
  mask-image:radial-gradient(circle at 50% 0%, black, transparent 78%);
}

.launch-topbar{
  border-radius:18px !important;
  background:
    linear-gradient(90deg, rgba(187,255,35,.08), transparent),
    linear-gradient(180deg,#101b0b,#050805) !important;
  border-color:rgba(187,255,35,.24) !important;
}

.player-breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  margin:15px 0 0;
  color:#9aa193;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
}

.player-breadcrumb a{
  color:#bbff23;
}

.profile-hero-pro{
  grid-template-columns:188px minmax(0,1fr) 190px !important;
  min-height:238px;
  background:
    radial-gradient(circle at 16% 15%, rgba(187,255,35,.18), transparent 360px),
    linear-gradient(120deg, rgba(46,68,82,.98), rgba(16,25,32,.98) 55%, rgba(8,13,17,.98)) !important;
  border-color:rgba(187,255,35,.28) !important;
  box-shadow:0 24px 60px rgba(0,0,0,.38), 0 0 34px rgba(187,255,35,.08);
}

.profile-hero-pro .player-avatar-big{
  border-radius:26px;
  border-color:rgba(187,255,35,.52);
  background:
    radial-gradient(circle at 50% 15%, rgba(187,255,35,.18), transparent 220px),
    #040704;
}

.profile-quick-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin-top:16px;
}

.profile-quick-meta div{
  border:1px solid rgba(187,255,35,.16);
  background:rgba(0,0,0,.22);
  border-radius:14px;
  padding:12px;
}

.profile-quick-meta b{
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1;
}

.profile-quick-meta span{
  display:block;
  color:#9aa193;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  margin-top:6px;
}

.pro-rank-box{
  min-height:170px;
  display:grid;
  align-content:center;
}

.pro-rank-box i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:9px auto 0;
  width:max-content;
  border:1px solid rgba(187,255,35,.34);
  color:#bbff23;
  border-radius:999px;
  padding:6px 10px;
  font-style:normal;
  font-size:11px;
  font-weight:900;
}

.profile-launch-banner{
  background:
    linear-gradient(90deg, rgba(0,0,0,.74), rgba(0,0,0,.22)),
    radial-gradient(circle at 75% 40%, rgba(187,255,35,.25), transparent 310px),
    linear-gradient(135deg,#180b0b,#3d1212 48%,#050805) !important;
  border-color:rgba(187,255,35,.25) !important;
}

.pro-tabs{
  position:sticky;
  top:78px;
  z-index:8;
  box-shadow:0 12px 24px rgba(0,0,0,.28);
}

.profile-overview-pro{
  grid-template-columns:270px 1fr !important;
}

.identity-pro{
  border-color:rgba(187,255,35,.24) !important;
}

.identity-details{
  display:grid;
  gap:8px;
  margin:13px 0;
  text-align:left;
}

.identity-details div{
  border:1px solid rgba(187,255,35,.12);
  background:rgba(0,0,0,.20);
  border-radius:12px;
  padding:10px;
}

.identity-details span{
  display:block;
  color:#9aa193;
  font-size:10px;
  font-weight:900;
  text-transform:uppercase;
  margin-bottom:4px;
}

.identity-details strong{
  display:block;
  color:#fff;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.rating-pro{
  grid-template-columns:215px minmax(0,1fr) !important;
  background:
    radial-gradient(circle at 19% 50%, rgba(187,255,35,.10), transparent 260px),
    linear-gradient(180deg,#101820,#070c10) !important;
}

.player-rating-content{
  min-width:0;
}

.player-kpi-row{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.player-kpi-row div{
  min-height:98px;
  display:grid;
  align-content:center;
  border-color:rgba(187,255,35,.16) !important;
}

.rating-explanation{
  border-color:rgba(187,255,35,.24) !important;
  background:
    linear-gradient(90deg, rgba(187,255,35,.10), rgba(187,255,35,.025)),
    rgba(0,0,0,.30) !important;
}

.profile-main-grid,
.lower-profile-grid{
  grid-template-columns:1.15fr .85fr !important;
}

.performance-card{
  background:
    radial-gradient(circle at 100% 0%, rgba(111,197,255,.08), transparent 280px),
    linear-gradient(180deg,#111b24,#070c10) !important;
}

.duel-summary-pro div{
  min-height:116px;
}

.detailed-stats-pro{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

.detailed-stats-pro article{
  position:relative;
  overflow:hidden;
  border-color:rgba(187,255,35,.14) !important;
}

.detailed-stats-pro article.highlight{
  border-color:rgba(187,255,35,.34) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(187,255,35,.14), transparent 150px),
    rgba(0,0,0,.25);
}

.detailed-stats-pro article::after{
  content:"";
  position:absolute;
  width:80px;
  height:80px;
  right:-30px;
  bottom:-36px;
  border-radius:50%;
  background:rgba(187,255,35,.05);
}

.recent-duels-list{
  display:grid;
  gap:9px;
}

.recent-duels-list article{
  display:grid;
  grid-template-columns:38px 1fr auto;
  gap:10px;
  align-items:center;
  border:1px solid rgba(187,255,35,.12);
  background:rgba(0,0,0,.22);
  border-radius:13px;
  padding:10px;
}

.recent-duels-list b{
  width:30px;
  height:30px;
  border-radius:8px;
  display:grid;
  place-items:center;
  font-size:13px;
}

.recent-duels-list b.win{
  background:rgba(76,255,93,.13);
  color:#4cff5d;
  border:1px solid rgba(76,255,93,.34);
}

.recent-duels-list b.loss{
  background:rgba(255,70,70,.12);
  color:#ff7777;
  border:1px solid rgba(255,70,70,.30);
}

.recent-duels-list strong{
  color:#fff;
  display:block;
}

.recent-duels-list span,
.recent-duels-list small{
  color:#9aa193;
  font-size:12px;
}

.achievement-list{
  display:grid;
  gap:10px;
}

.achievement-list article{
  border:1px solid rgba(187,255,35,.14);
  background:
    linear-gradient(90deg, rgba(187,255,35,.07), rgba(0,0,0,.12)),
    rgba(0,0,0,.22);
  border-radius:14px;
  padding:13px;
}

.achievement-list span{
  color:#9aa193;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}

.achievement-list strong{
  display:block;
  color:#bbff23;
  font-size:24px;
  margin:5px 0 3px;
}

.achievement-list small{
  color:#dce6d6;
}

.notes-pro-card{
  margin-top:16px;
}

@media(max-width:1050px){
  .profile-hero-pro,
  .profile-overview-pro,
  .rating-pro,
  .profile-main-grid,
  .lower-profile-grid{
    grid-template-columns:1fr !important;
  }

  .profile-quick-meta,
  .player-kpi-row,
  .detailed-stats-pro{
    grid-template-columns:1fr 1fr !important;
  }

  .pro-tabs{
    top:0;
  }
}

@media(max-width:650px){
  .profile-quick-meta,
  .player-kpi-row,
  .detailed-stats-pro{
    grid-template-columns:1fr !important;
  }

  .profile-hero-pro .player-avatar-big{
    width:118px;
    height:118px;
  }

  .player-main-info h1{
    font-size:30px !important;
  }
}

/* Limpeza de lançamento: admin não aparece nas telas públicas */
body:not(.admin-lite-page) a[href="admin.html"],
body:not(.admin-lite-page) .admin-button{
  display:none !important;
}


/* Silhueta padrão dos atletas */
.player-avatar-big img,
.player-side-avatar img,
.participant-card-avatar img,
.registered-avatar img,
.ranking-player-cell .player-avatar img,
.ranking-list-player img,
.player-hero-card img{
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
}


/* Silhueta dos atletas mais visível */
.player-avatar-big,
.player-side-avatar,
.individual-avatar,
.podium-avatar,
.showcase-player-image,
.ranking-player-avatar,
.registered-avatar,
.profile-avatar,
.participant-avatar,
.participant-card-avatar{
  background:
    radial-gradient(circle at 50% 28%, rgba(187,255,35,.28), transparent 52%),
    linear-gradient(180deg, #24313a, #0b1116) !important;
  border-color:rgba(187,255,35,.45) !important;
  box-shadow:
    inset 0 0 26px rgba(187,255,35,.08),
    0 0 22px rgba(187,255,35,.14) !important;
}

.player-avatar-big img,
.player-side-avatar img,
.individual-avatar img,
.podium-avatar img,
.showcase-player-image img,
.ranking-player-avatar img,
.registered-avatar img,
.profile-avatar img,
.participant-avatar img,
.participant-card-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  filter:brightness(1.18) contrast(1.12) drop-shadow(0 0 10px rgba(187,255,35,.25));
  padding:4px;
  box-sizing:border-box;
}

/* Nos cards pequenos do ranking, deixa ainda mais clara */
.individual-avatar img,
.ranking-player-avatar img{
  padding:2px;
  filter:brightness(1.28) contrast(1.16) drop-shadow(0 0 7px rgba(187,255,35,.30));
}

/* No perfil do atleta, silhueta grande com destaque */
.player-avatar-big img,
.player-side-avatar img{
  padding:8px;
  filter:brightness(1.22) contrast(1.16) drop-shadow(0 0 16px rgba(187,255,35,.35));
}


/* Correção final: silhueta bem visível dos atletas */
.player-avatar-big,
.player-side-avatar,
.individual-avatar,
.podium-avatar,
.showcase-player-image,
.ranking-player-avatar,
.registered-avatar,
.profile-avatar,
.participant-avatar,
.participant-card-avatar{
  background:
    radial-gradient(circle at 50% 35%, rgba(187,255,35,.45), transparent 56%),
    linear-gradient(180deg, #31404a, #111820 70%, #060a0d) !important;
  border:2px solid rgba(187,255,35,.72) !important;
  box-shadow:
    inset 0 0 34px rgba(187,255,35,.16),
    0 0 24px rgba(187,255,35,.22) !important;
}

.player-avatar-big img,
.player-side-avatar img,
.individual-avatar img,
.podium-avatar img,
.showcase-player-image img,
.ranking-player-avatar img,
.registered-avatar img,
.profile-avatar img,
.participant-avatar img,
.participant-card-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  filter:
    brightness(1.55)
    contrast(1.30)
    drop-shadow(0 0 12px rgba(255,255,255,.35))
    drop-shadow(0 0 18px rgba(187,255,35,.50)) !important;
  opacity:1 !important;
  padding:2px !important;
  box-sizing:border-box !important;
}

/* Cards do pódio: deixa a silhueta maior e mais clara */
.podium-avatar{
  width:108px !important;
  height:108px !important;
  background:
    radial-gradient(circle at 50% 34%, rgba(187,255,35,.52), transparent 58%),
    linear-gradient(180deg,#354753,#0c1118) !important;
}

.podium-avatar img{
  padding:0 !important;
  transform:scale(1.10);
}

/* Ranking pequeno: evita a foto sumir */
.individual-avatar,
.ranking-player-avatar{
  background:
    radial-gradient(circle at 50% 35%, rgba(187,255,35,.50), transparent 55%),
    #182128 !important;
}

.individual-avatar img,
.ranking-player-avatar img{
  padding:0 !important;
  transform:scale(1.18);
}

/* Perfil do atleta: destaque máximo */
.player-avatar-big img,
.player-side-avatar img{
  padding:0 !important;
  transform:scale(1.08);
}


/* Silhueta preta mais visível */
.player-avatar-big,
.player-side-avatar,
.individual-avatar,
.podium-avatar,
.showcase-player-image,
.ranking-player-avatar,
.registered-avatar,
.profile-avatar,
.participant-avatar,
.participant-card-avatar{
  background:
    radial-gradient(circle at 50% 35%, rgba(187,255,35,.42), transparent 54%),
    linear-gradient(180deg, #4b5b55, #22302e 58%, #101716) !important;
  border:2px solid rgba(187,255,35,.70) !important;
  box-shadow:
    inset 0 0 28px rgba(187,255,35,.12),
    0 0 18px rgba(187,255,35,.20) !important;
}

.player-avatar-big img,
.player-side-avatar img,
.individual-avatar img,
.podium-avatar img,
.showcase-player-image img,
.ranking-player-avatar img,
.registered-avatar img,
.profile-avatar img,
.participant-avatar img,
.participant-card-avatar img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center bottom !important;
  filter:
    brightness(.72)
    contrast(1.42)
    drop-shadow(0 0 10px rgba(187,255,35,.35))
    drop-shadow(0 0 3px rgba(240,255,240,.12)) !important;
  opacity:1 !important;
  padding:1px !important;
  box-sizing:border-box !important;
}

.podium-avatar{
  width:108px !important;
  height:108px !important;
}

.podium-avatar img,
.individual-avatar img,
.ranking-player-avatar img{
  transform:scale(1.14);
}

.player-avatar-big img,
.player-side-avatar img{
  transform:scale(1.08);
}


/* Correção do banner superior: evita corte da imagem */
.brand-row{min-height:124px;height:auto;display:grid;grid-template-columns:160px 1fr;gap:25px;align-items:center}
.top-ad{height:90px;padding:0;background:#020402;display:flex;align-items:center;justify-content:center}
.top-ad img{width:100%;height:100%;object-fit:contain !important;object-position:center center;background:#020402;display:block}
.top-ad span{padding:0 14px;text-align:center}

@media (max-width: 1100px){
  .brand-row{min-height:112px;grid-template-columns:140px 1fr;gap:14px}
  .top-ad{height:82px}
}

@media (max-width: 760px){
  .brand-row{grid-template-columns:1fr;gap:10px;min-height:auto}
  .brand{display:flex;justify-content:center}
  .top-ad{height:72px}
}


/* Correção final do patrocinador do topo: grande, centralizado e sem ficar minúsculo */
.brand-row{
  min-height:220px !important;
  height:auto !important;
  display:grid !important;
  grid-template-columns:160px minmax(0,1fr) !important;
  gap:25px !important;
  align-items:center !important;
  padding:18px 0 !important;
}

.top-ad{
  height:190px !important;
  width:100% !important;
  padding:0 !important;
  background:#020402 !important;
  border:1px solid rgba(187,255,35,.35) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.top-ad img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  background:#020402 !important;
}

.top-ad span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  text-align:center;
}

@media(max-width:1100px){
  .brand-row{
    grid-template-columns:130px minmax(0,1fr) !important;
    min-height:190px !important;
    gap:14px !important;
  }

  .top-ad{
    height:160px !important;
  }
}

@media(max-width:760px){
  .brand-row{
    grid-template-columns:1fr !important;
    min-height:auto !important;
    padding:12px 0 !important;
  }

  .brand{
    display:flex;
    justify-content:center;
  }

  .top-ad{
    height:150px !important;
  }
}


/* =========================================================
   LOGO D20 EM HTML/CSS - SEM IMAGEM
   ========================================================= */
.d20-brand-css{
  display:flex !important;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-decoration:none;
  min-width:145px;
  height:86px;
  border:1px solid rgba(187,255,35,.22);
  background:
    radial-gradient(circle at 40% 45%, rgba(187,255,35,.18), transparent 55%),
    linear-gradient(135deg, rgba(3,8,3,.92), rgba(0,0,0,.96));
  box-shadow:
    inset 0 0 22px rgba(187,255,35,.08),
    0 0 24px rgba(187,255,35,.10);
  position:relative;
  overflow:hidden;
}

.d20-brand-css::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:linear-gradient(115deg, transparent 0 42%, rgba(255,255,255,.18) 48%, transparent 56% 100%);
  transform:translateX(-40%) rotate(4deg);
  animation:d20LogoShine 4.8s ease-in-out infinite;
  pointer-events:none;
}

.d20-logo-css{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:3px;
  line-height:1;
  filter:drop-shadow(0 0 8px rgba(187,255,35,.28));
}

.d20-letter-d{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:Impact, Haettenschweiler, "Arial Black", sans-serif;
  font-size:48px;
  font-weight:900;
  font-style:italic;
  letter-spacing:-4px;
  color:#9dff16;
  background:linear-gradient(180deg,#d7ff4f 0%,#9dff16 42%,#365400 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:0 0 18px rgba(187,255,35,.36);
}

.d20-letter-d::before{
  content:"";
  position:absolute;
  width:26px;
  height:26px;
  border:3px solid #101510;
  border-radius:50%;
  left:14px;
  top:11px;
  box-shadow:
    0 0 0 2px rgba(187,255,35,.42),
    0 0 12px rgba(187,255,35,.42);
}

.d20-letter-d::after{
  content:"";
  position:absolute;
  width:42px;
  height:3px;
  background:#101510;
  left:6px;
  top:24px;
  box-shadow:
    0 0 0 1px rgba(187,255,35,.32),
    0 0 10px rgba(187,255,35,.34);
}

.d20-number{
  font-family:Impact, Haettenschweiler, "Arial Black", sans-serif;
  font-size:50px;
  font-weight:900;
  font-style:italic;
  letter-spacing:-3px;
  color:#fff;
  background:
    linear-gradient(180deg,#fff 0%,#d3d6d2 38%,#555 100%);
  -webkit-background-clip:text;
  background-clip:text;
  -webkit-text-fill-color:transparent;
  text-shadow:
    0 1px 0 rgba(255,255,255,.25),
    0 0 18px rgba(255,255,255,.16);
}

.d20-logo-css i{
  position:absolute;
  left:-18px;
  right:-16px;
  bottom:1px;
  height:4px;
  background:linear-gradient(90deg, transparent, #bbff23 18%, #fff 50%, #bbff23 82%, transparent);
  transform:skewX(-25deg);
  box-shadow:0 0 12px rgba(187,255,35,.65);
}

.d20-brand-css small{
  font-family:"Arial Narrow", Arial, sans-serif;
  color:#e7efe3;
  font-size:12px;
  letter-spacing:4px;
  font-weight:900;
  line-height:1;
  text-shadow:0 0 10px rgba(255,255,255,.12);
  margin-left:4px;
}

.d20-brand-css.compact{
  min-width:132px;
  height:58px;
  border:0;
  background:transparent;
  box-shadow:none;
  flex-direction:row;
  gap:8px;
}

.d20-brand-css.compact .d20-logo-css{
  transform:scale(.66);
  transform-origin:left center;
  width:88px;
}

.d20-brand-css.compact small{
  display:none;
}

.d20-brand-css:hover .d20-logo-css{
  transform:translateY(-1px) scale(1.02);
  transition:.18s ease;
}

.d20-brand-css.compact:hover .d20-logo-css{
  transform:scale(.68);
}

@keyframes d20LogoShine{
  0%,60%,100%{transform:translateX(-65%) rotate(4deg); opacity:0}
  72%{opacity:1}
  86%{transform:translateX(65%) rotate(4deg); opacity:0}
}

@media(max-width:760px){
  .d20-brand-css{
    min-width:150px;
    height:78px;
    margin:0 auto;
  }

  .d20-letter-d{
    font-size:42px;
  }

  .d20-number{
    font-size:44px;
  }

  .d20-brand-css small{
    font-size:10px;
    letter-spacing:3px;
  }
}


/* Banner de patrocinador do topo ocupando toda a faixa */
.brand-row{
  display:block !important;
  min-height:220px !important;
  height:auto !important;
  padding:18px 0 !important;
}

.brand-row .brand,
.brand-row .d20-brand-css{
  display:none !important;
}

.top-ad{
  width:100% !important;
  height:190px !important;
  min-height:190px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 !important;
  margin:0 !important;
  background:#020402 !important;
  border:1px solid rgba(187,255,35,.35) !important;
  overflow:hidden !important;
}

.top-ad img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
}

.top-ad span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 20px;
  text-align:center;
}

@media(max-width:1100px){
  .brand-row{
    min-height:180px !important;
    padding:14px 0 !important;
  }

  .top-ad{
    height:160px !important;
    min-height:160px !important;
  }
}

@media(max-width:760px){
  .brand-row{
    min-height:auto !important;
    padding:10px 0 !important;
  }

  .top-ad{
    height:135px !important;
    min-height:135px !important;
  }
}


/* Menu superior limpo */
.topbar nav,
.ranking-hltv-nav,
.player-topbar nav{
  gap:18px !important;
}

.topbar nav a,
.ranking-hltv-nav a,
.player-topbar nav a{
  font-size:13px !important;
  white-space:nowrap;
}

.topbar-inner{
  grid-template-columns:auto 1fr auto !important;
}

@media(max-width:900px){
  .topbar nav,
  .ranking-hltv-nav,
  .player-topbar nav{
    gap:10px !important;
    overflow-x:auto;
    padding-bottom:4px;
  }
}

/* =========================================================
   V6 — CLASSIFICAÇÃO OFICIAL POR CLUBES
   ========================================================= */
.club-ranking-layout{grid-template-columns:190px minmax(0,1fr) 220px!important;}
.club-ranking-kicker{color:#bbff23;font-size:11px;font-weight:900;letter-spacing:1.8px;margin-bottom:7px;}
.club-ranking-titleline{align-items:flex-start;margin-bottom:14px;}
.club-ranking-titleline h1{font-size:28px!important;color:#fff!important;text-transform:uppercase;letter-spacing:.4px;}
.club-ranking-titleline p{margin:6px 0 0;color:#98a69a;font-size:13px;}
.club-ranking-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:12px;}
.club-ranking-summary>div{background:linear-gradient(180deg,#0b130c,#050805);border:1px solid rgba(187,255,35,.22);padding:13px;}
.club-ranking-summary strong{display:block;color:#bbff23;font-size:23px;}
.club-ranking-summary span{color:#aab4aa;font-size:11px;text-transform:uppercase;letter-spacing:.5px;}
.club-ranking-rule{margin:10px;padding:12px;background:#070b07;border:1px solid rgba(187,255,35,.16);}
.club-ranking-rule strong{color:#bbff23;font-size:12px;text-transform:uppercase;}
.club-ranking-rule p{color:#9ba79b;font-size:11px;line-height:1.55;margin:7px 0 0;}
.club-official-card{background:linear-gradient(180deg,#101810,#070a07)!important;border-color:rgba(187,255,35,.18)!important;margin-bottom:10px;overflow:hidden;}
.club-official-card.is-top{border-color:rgba(187,255,35,.48)!important;box-shadow:0 0 24px rgba(187,255,35,.10);}
.club-official-card .ranking-team-topline{grid-template-columns:44px 40px minmax(0,1fr) 100px;padding:13px 14px;}
.club-official-card .ranking-team-maininfo h2{color:#fff;font-size:19px;}
.club-official-card .ranking-team-maininfo p{white-space:normal;color:#8f9a8f;}
.club-total-points{text-align:right;}
.club-total-points strong{display:block;color:#bbff23;font-size:20px;}
.club-total-points span{display:block;color:#829082;font-size:10px;text-transform:uppercase;}
.club-member-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:0 12px 12px;}
.club-member-card{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:9px;background:#050805;border:1px solid rgba(187,255,35,.12);padding:7px;min-width:0;transition:.18s ease;}
.club-member-card:hover{border-color:rgba(187,255,35,.48);background:#0b120b;transform:translateY(-1px);}
.club-member-avatar{width:42px;height:42px;overflow:hidden;background:#111;border:1px solid rgba(187,255,35,.18);}
.club-member-avatar img{width:100%;height:100%;object-fit:cover;}
.club-member-copy{min-width:0;}
.club-member-copy strong{display:block;color:#eef4ed;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.club-member-copy span{display:block;color:#819081;font-size:10px;margin-top:2px;}
.club-member-card>b{color:#bbff23;font-size:11px;white-space:nowrap;}
.club-official-stats{display:grid;}
.club-official-stats>div{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid rgba(187,255,35,.10);}
.club-official-stats b{color:#bbff23;font-size:19px;}
.club-official-stats span{color:#aab4aa;font-size:11px;text-align:right;}
.club-unassigned-section{margin-top:14px;background:#090b09;border:1px dashed rgba(255,255,255,.18);}
.club-unassigned-head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:12px;border-bottom:1px solid rgba(255,255,255,.08);}
.club-unassigned-head h2{margin:0;color:#ddd;font-size:14px;text-transform:uppercase;}
.club-unassigned-head span{color:#888;font-size:11px;}
@media(max-width:1100px){.club-ranking-layout{grid-template-columns:1fr!important}.club-ranking-filters,.club-ranking-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}.club-ranking-filters .filter-header{grid-column:1/-1;}}
@media(max-width:720px){.club-ranking-summary{grid-template-columns:1fr}.club-member-grid{grid-template-columns:1fr}.club-official-card .ranking-team-topline{grid-template-columns:38px 34px minmax(0,1fr)}.club-total-points{grid-column:1/-1;text-align:left;padding-left:82px}.club-ranking-filters,.club-ranking-right{grid-template-columns:1fr}.club-unassigned-head{align-items:flex-start;flex-direction:column;}}

/* V9 — pontuação oficial do ranking individual */
.scoring-rules-card .scoring-rules-list {
  display: grid;
  gap: 0;
}
.scoring-rules-card .scoring-rules-list > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(174, 255, 0, .12);
  color: #d9ded8;
  font-size: 13px;
}
.scoring-rules-card .scoring-rules-list > div:last-child {
  border-bottom: 0;
}
.scoring-rules-card .scoring-rules-list strong {
  color: #b7ef00;
  white-space: nowrap;
}
.individual-points {
  color: #b7ef00;
  font-weight: 800;
}

/* V10 — prévia real dos rankings na lateral da página inicial */
.home-ranking-category-preview + .home-ranking-category-preview{
  border-top:1px solid rgba(187,255,35,.18);
}

.home-ranking-category-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  background:rgba(187,255,35,.06);
  border-bottom:1px solid rgba(187,255,35,.08);
}

.home-ranking-category-title strong{
  color:#fff;
  font-size:11px;
  font-weight:950;
  text-transform:uppercase;
}

.home-ranking-category-title a{
  color:#bbff23;
  font-size:9px;
  font-weight:900;
  text-transform:uppercase;
}

.home-ranking-card .home-player-ranking-list a{
  grid-template-columns:38px minmax(0,1fr) auto;
  padding:8px 10px;
  min-height:44px;
}

.home-ranking-card .home-player-ranking-list b{
  font-size:11px;
  white-space:nowrap;
}

.home-ranking-card .home-player-ranking-list span{
  color:#fff;
  font-size:11px;
  font-weight:850;
}

.home-ranking-card .home-player-ranking-list small{
  color:#8e9988;
  font-size:9px;
}

.home-ranking-card .home-player-ranking-list strong{
  font-size:9px;
}

.home-ranking-empty{
  margin:0;
  padding:12px 10px;
  color:#aab3a5;
  font-size:11px;
}

/* =========================================================
   V13 — NAVEGAÇÃO, EVENTOS DO PAINEL E GALERIA MÚLTIPLA
   ========================================================= */
.topbar-home-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:86px;
  height:27px;
  border:1px solid rgba(187,255,35,.22);
  background:#030503;
  overflow:hidden;
  transition:.2s ease;
}
.topbar-home-logo:hover{
  border-color:#bbff23;
  box-shadow:0 0 14px rgba(187,255,35,.25);
}
.topbar-home-logo img{
  display:block;
  width:78px;
  max-height:24px;
  object-fit:contain;
}
.footer-home-logo,
.admin-logo-link,
.ranking-home-logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
}
.footer-home-logo img,
.admin-logo-link img,
.ranking-home-logo img{
  transition:filter .2s ease, transform .2s ease;
}
.footer-home-logo:hover img,
.admin-logo-link:hover img,
.ranking-home-logo:hover img{
  filter:drop-shadow(0 0 8px rgba(187,255,35,.55));
  transform:scale(1.02);
}
.admin-add-button{
  flex:0 0 auto;
  min-width:190px;
  min-height:44px;
  cursor:pointer;
}
.admin-lite-form select[data-event-select]{
  width:100%;
}
.news-related-event{
  display:block;
  margin:4px 0 3px;
  color:#bbff23;
  font-size:10px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.45px;
}
#galleryForm input[type="file"]{
  min-height:48px;
  padding:10px;
}
#galleryForm button[disabled]{
  opacity:.68;
  cursor:wait;
}

@media(max-width:900px){
  .topbar-home-logo{
    width:78px;
    height:26px;
  }
  .topbar-home-logo img{
    width:70px;
  }
  .admin-section-intro{
    align-items:flex-start;
    flex-direction:column;
  }
  .admin-add-button{
    width:100%;
    min-width:0;
  }
}


/* Atualização V16 — pontuação oficial dentro do painel */
.official-scoring-tip{margin:0 0 16px;line-height:1.55}
.official-scoring-tip strong{color:#c8ff00}
#applyOfficialScoringBtn{white-space:nowrap}
@media (max-width:760px){#applyOfficialScoringBtn{width:100%;white-space:normal}}
.developer-link {
  display: inline-block;

  color: transparent;
  -webkit-text-stroke: 1px #b6ff00;

  font-size: 15px;
  font-weight: 900;
  line-height: 1.2;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  text-decoration: none;

  text-shadow: none;
  transition: 0.2s ease;
}

.developer-link:hover {
  color: #b6ff00;
  -webkit-text-stroke: 0;
  text-shadow: none;
}
/* =====================================================
   PATROCINADORES LATERAIS — PROPORÇÃO 801 × 1964
   ===================================================== */

@media (min-width: 1501px) {
  .ad-wall {
    position: fixed !important;
    top: var(--topbar-height, 34px) !important;
    bottom: auto !important;

    /* Ocupa todo o espaço disponível na lateral */
    width: calc((100vw - var(--content-width, 1180px)) / 2) !important;

    /* Limite máximo da arte */
    max-width: 801px !important;
    min-width: 0 !important;

    /* Mantém a proporção da imagem */
    height: auto !important;
    aspect-ratio: 801 / 1964 !important;
    max-height: 1964px !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden !important;
    background: #000 !important;
    display: block !important;
    z-index: 1 !important;
  }

  .ad-wall-left {
    left: 0 !important;
    right: auto !important;
  }

  .ad-wall-right {
    right: 0 !important;
    left: auto !important;
  }

  .ad-wall .ad-slot,
  .ad-wall .vertical-ad {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;

    overflow: hidden !important;
    background: #000 !important;
  }

  .ad-wall .ad-slot img,
  .ad-wall .vertical-ad img {
    width: 100% !important;
    height: 100% !important;

    /* Faz a imagem preencher toda a lateral */
    object-fit: cover !important;
    object-position: top center !important;

    display: block !important;
    padding: 0 !important;
    margin: 0 !important;

    max-width: none !important;
    max-height: none !important;
    background: #000 !important;
  }
}

@media (max-width: 1500px) {
  .ad-wall {
    display: none !important;
  }
}
/* QUALIDADE DOS PATROCINADORES LATERAIS */
.ad-wall .ad-slot img,
.ad-wall .vertical-ad img {
  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;
  object-position: top center !important;

  display: block !important;
  padding: 0 !important;
  margin: 0 !important;

  max-width: none !important;
  max-height: none !important;

  image-rendering: auto !important;
  transform: translateZ(0);
  backface-visibility: hidden;

  background: #000 !important;
}


/* =========================================================
   NOTÍCIAS DA HOME: RESUMO EM 3 LINHAS + VER MAIS
   ========================================================= */
.news-content{
  min-width:0;
}

.news-excerpt{
  display:-webkit-box !important;
  -webkit-box-orient:vertical !important;
  -webkit-line-clamp:3 !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  line-height:1.4 !important;
  max-height:4.2em !important;
  margin:6px 0 8px !important;
}

.news-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:7px;
}

.news-read-more{
  appearance:none;
  border:0;
  background:transparent;
  color:var(--lime);
  font:inherit;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  padding:3px 0;
  cursor:pointer;
  white-space:nowrap;
}

.news-read-more:hover,
.news-read-more:focus-visible{
  color:var(--lime2);
  text-decoration:underline;
}

.news-modal-article img{
  width:100%;
  max-height:330px;
  object-fit:cover;
  object-position:center;
  display:block;
  margin:6px 0 14px;
  border:1px solid var(--line);
  background:#000;
}

.news-modal-meta{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}

.news-modal-meta span{
  color:var(--lime);
  font-weight:900;
  text-transform:uppercase;
  font-size:12px;
}

.news-modal-meta small{
  color:var(--muted);
}

.news-modal-event{
  color:#dce5d6;
  border-left:3px solid var(--lime);
  padding-left:10px;
}

.news-modal-text{
  color:#e4e9df;
  line-height:1.65;
  white-space:normal;
}

#modal .modal-box{
  max-height:90vh;
  overflow-y:auto;
}

@media(max-width:650px){
  .news-footer{
    align-items:flex-end;
  }
  .news-count{
    display:none;
  }
}

/* =========================================================
   D20 — RESPONSIVIDADE GLOBAL DEFINITIVA
   Mesma página se adapta automaticamente a celulares/tablets.
   Este bloco deve permanecer no FINAL do style.css.
   ========================================================= */

html{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
  -webkit-text-size-adjust:100%;
}

body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

img,video,canvas,svg{
  max-width:100%;
}

input,select,textarea,button{
  max-width:100%;
}

/* Tablets e celulares */
@media (max-width: 900px){
  :root{
    --content-width:100% !important;
    --left-col:1fr !important;
    --right-col:1fr !important;
    --gap:10px !important;
  }

  .ad-wall,
  .ranking-side-ad{
    display:none !important;
  }

  .main-width,
  .site,
  .admin-lite-shell,
  .admin-shell,
  .participant-shell,
  .player-profile-shell{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .site,
  .participant-shell,
  .player-profile-shell,
  .admin-lite-shell,
  .admin-shell{
    padding-left:10px !important;
    padding-right:10px !important;
  }

  /* Cabeçalhos: não extrapolam a tela */
  .topbar{
    position:relative !important;
    height:auto !important;
    min-height:0 !important;
  }

  .topbar-inner,
  .ranking-hltv-topbar-inner,
  .player-topbar,
  .launch-topbar{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 10px !important;
  }

  .topbar-home-logo,
  .ranking-hltv-logo-wrap,
  .brand-mini{
    flex:0 0 auto !important;
  }

  .topbar nav,
  .ranking-hltv-nav,
  .player-topbar nav{
    order:3 !important;
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:8px !important;
    padding:3px 0 6px !important;
    scrollbar-width:thin;
    -webkit-overflow-scrolling:touch;
  }

  .topbar nav a,
  .ranking-hltv-nav a,
  .player-topbar nav a{
    flex:0 0 auto !important;
    white-space:nowrap !important;
    padding:8px 10px !important;
    font-size:12px !important;
    border:1px solid rgba(187,255,35,.14);
    background:rgba(187,255,35,.035);
  }

  .top-actions,
  .ranking-hltv-search{
    min-width:0 !important;
    flex:1 1 180px !important;
  }

  .top-actions input,
  .ranking-hltv-search input{
    width:100% !important;
    min-width:0 !important;
  }

  /* Página inicial */
  .brand-row{
    width:100% !important;
    min-height:0 !important;
    height:auto !important;
    display:block !important;
    padding:9px 0 !important;
  }

  .top-ad{
    width:100% !important;
    height:auto !important;
    min-height:74px !important;
    aspect-ratio:12 / 2.2;
  }

  .top-ad img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
  }

  .layout{
    width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
    padding-top:0 !important;
  }

  /* No celular, conteúdo principal vem antes das colunas laterais */
  .center-col{order:1 !important; width:100% !important; min-width:0 !important;}
  .left-col{order:2 !important; width:100% !important; min-width:0 !important;}
  .right-col{order:3 !important; width:100% !important; min-width:0 !important;}

  .left-col,
  .right-col{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .card,
  .hero,
  .next-card,
  .home-ranking-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .hero-image-link{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
  }

  .hero-image-link img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  .next-img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:4 / 5 !important;
    object-fit:cover !important;
  }

  .timer{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
    gap:5px !important;
  }

  .timer div{
    min-width:0 !important;
    padding:4px 2px !important;
  }

  .news-item,
  .event-item{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .news-item img,
  .event-item img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:16 / 9 !important;
    object-fit:cover !important;
  }

  .news-count{
    text-align:left !important;
  }

  .status{
    width:100% !important;
  }

  .features,
  .athlete-grid,
  .gallery,
  .footer,
  .home-register-section,
  .home-register-stats{
    width:100% !important;
    grid-template-columns:1fr !important;
  }

  .gallery a{
    height:auto !important;
    aspect-ratio:16 / 10 !important;
  }

  /* Ranking: a MESMA página vira versão de celular */
  .ranking-page-shell,
  .individual-ranking-shell{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:block !important;
    grid-template-columns:1fr !important;
  }

  .ranking-hltv-main{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .individual-ranking-content,
  .ranking-hltv-content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:10px !important;
    margin:0 !important;
  }

  .individual-ranking-main-panel,
  .ranking-hltv-center{
    order:1 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .individual-filter-panel,
  .ranking-hltv-filters{
    order:2 !important;
    width:100% !important;
    max-width:100% !important;
    grid-template-columns:1fr !important;
  }

  .individual-ranking-side,
  .ranking-hltv-right{
    order:3 !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    position:static !important;
  }

  .individual-ranking-tabs,
  .ranking-hltv-tabs{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
  }

  .individual-ranking-header,
  .ranking-hltv-headerline{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    gap:10px !important;
    padding:15px !important;
  }

  .individual-ranking-header h1{
    font-size:clamp(22px,7vw,31px) !important;
    overflow-wrap:anywhere;
  }

  .individual-ranking-date{
    width:100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    text-align:left !important;
  }

  .individual-podium{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .podium-card,
  .podium-card.podium-1,
  .podium-card.podium-1.d20-reveal,
  .podium-card.podium-1.d20-reveal.is-visible{
    width:100% !important;
    min-width:0 !important;
    transform:none !important;
  }

  .individual-table-card,
  .individual-ranking-list{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
  }

  .individual-table-head{
    display:none !important;
  }

  .individual-ranking-row{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:42px minmax(0,1fr) auto !important;
    grid-template-areas:
      "position player points"
      "position team team"
      "position category accuracy" !important;
    gap:5px 9px !important;
    align-items:center !important;
    padding:12px 10px !important;
    overflow:hidden !important;
  }

  .individual-position{
    grid-area:position !important;
    align-self:stretch !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }

  .individual-player{
    grid-area:player !important;
    min-width:0 !important;
  }

  .individual-player > div:last-child{
    min-width:0 !important;
  }

  .individual-player strong{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:14px !important;
  }

  .individual-player span{
    display:block !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:10px !important;
  }

  .individual-avatar{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .individual-team{
    grid-area:team !important;
    min-width:0 !important;
    text-align:left !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
    font-size:11px !important;
  }

  .individual-category{
    grid-area:category !important;
    text-align:left !important;
    font-size:10px !important;
  }

  .individual-points{
    grid-area:points !important;
    text-align:right !important;
    white-space:nowrap !important;
    font-size:13px !important;
  }

  .individual-accuracy{
    grid-area:accuracy !important;
    text-align:right !important;
    white-space:nowrap !important;
    font-size:10px !important;
  }

  /* Ranking por clubes, caso esteja ativo */
  .club-ranking-layout,
  .club-ranking-summary,
  .club-ranking-filters,
  .club-ranking-right,
  .club-member-grid{
    width:100% !important;
    grid-template-columns:1fr !important;
  }

  .club-official-card .ranking-team-topline,
  .ranking-team-topline{
    grid-template-columns:38px 34px minmax(0,1fr) !important;
  }

  .club-total-points,
  .ranking-team-change{
    grid-column:1/-1 !important;
    padding-left:0 !important;
    text-align:left !important;
  }

  .ranking-team-players-showcase{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  /* Perfil do atleta */
  .player-profile-shell{
    overflow:hidden !important;
  }

  .player-breadcrumb{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
  }

  .player-hero-card,
  .profile-hero-pro,
  .player-overview-grid,
  .profile-overview-pro,
  .profile-main-grid,
  .lower-profile-grid,
  .rating-pro{
    width:100% !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .player-avatar-big,
  .profile-hero-pro .player-avatar-big{
    margin:0 auto !important;
  }

  .player-main-info{
    min-width:0 !important;
    text-align:center !important;
  }

  .player-main-info h1{
    font-size:clamp(27px,8vw,38px) !important;
    overflow-wrap:anywhere;
  }

  .player-tags,
  .participant-actions{
    justify-content:center !important;
  }

  .player-rank-box,
  .pro-rank-box{
    width:100% !important;
    min-width:0 !important;
  }

  .profile-quick-meta,
  .player-kpi-row,
  .detailed-stats-pro,
  .stats-grid,
  .profile-info-grid{
    width:100% !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .player-tabs,
  .pro-tabs{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    position:static !important;
  }

  .player-tabs button,
  .pro-tabs button{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  /* Cadastro */
  .participant-hero,
  .participant-form,
  .inline-form,
  .participant-grid,
  .participant-gallery,
  .home-register-section{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:1fr !important;
  }

  .participant-hero > img{
    width:100% !important;
    height:auto !important;
  }

  .participant-form label,
  .participant-form .full,
  .participant-form button.full{
    grid-column:1 !important;
  }

  /* Painel administrativo também utilizável no celular */
  .admin-lite-header,
  .admin-header{
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
  }

  .admin-title-logo{
    min-width:0 !important;
  }

  .admin-lite-actions{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
  }

  .admin-lite-actions > *{
    width:100% !important;
    min-width:0 !important;
  }

  .admin-lite-tabs,
  .admin-tabs{
    width:100% !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    padding-bottom:5px !important;
  }

  .admin-lite-tabs button,
  .admin-tabs button{
    flex:0 0 auto !important;
    white-space:nowrap !important;
  }

  .admin-lite-content,
  .admin-tab.active,
  .admin-lite-form,
  .admin-form,
  .admin-lite-dashboard{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:1fr !important;
  }

  .admin-row,
  .admin-lite-row{
    width:100% !important;
    min-width:0 !important;
    grid-template-columns:70px minmax(0,1fr) !important;
  }

  .admin-row-actions,
  .admin-lite-row-actions{
    grid-column:1/-1 !important;
    width:100% !important;
    flex-wrap:wrap !important;
  }

  /* Tabelas e blocos de dados não quebram a tela */
  table{
    max-width:100%;
  }

  .table-wrap,
  .admin-table-wrap,
  .ranking-table-wrap{
    width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch;
  }
}

/* Celulares pequenos */
@media (max-width: 520px){
  .site,
  .participant-shell,
  .player-profile-shell,
  .admin-lite-shell,
  .admin-shell{
    padding-left:7px !important;
    padding-right:7px !important;
  }

  .card{
    padding:10px !important;
  }

  .topbar-inner,
  .ranking-hltv-topbar-inner,
  .player-topbar,
  .launch-topbar{
    padding-left:7px !important;
    padding-right:7px !important;
  }

  .topbar-home-logo img,
  .ranking-home-logo img,
  .ranking-hltv-logo-wrap img{
    max-width:56px !important;
    height:46px !important;
  }

  .ranking-hltv-title strong{
    font-size:20px !important;
  }

  .ranking-hltv-title span{
    font-size:9px !important;
  }

  .individual-ranking-content,
  .ranking-hltv-content{
    padding:7px !important;
  }

  .individual-ranking-row{
    grid-template-columns:36px minmax(0,1fr) auto !important;
    padding:10px 7px !important;
    gap:4px 7px !important;
  }

  .individual-avatar{
    width:36px !important;
    height:36px !important;
    flex-basis:36px !important;
  }

  .individual-player strong{
    font-size:12px !important;
  }

  .individual-points{
    font-size:12px !important;
  }

  .profile-quick-meta,
  .player-kpi-row,
  .detailed-stats-pro,
  .stats-grid,
  .profile-info-grid{
    grid-template-columns:1fr !important;
  }

  .admin-lite-actions{
    grid-template-columns:1fr !important;
  }

  .timer b{
    font-size:15px !important;
  }

  .timer span{
    font-size:8px !important;
  }
}

/* =========================================================
   CRÉDITO CODARZA — VISUAL PREMIUM NO RODAPÉ
   ========================================================= */
.developer-credit{
  position:relative;
  display:inline-flex;
  flex-direction:column;
  align-items:flex-start;
  gap:3px;
  margin-top:12px;
  padding:9px 13px 10px 15px;
  min-width:158px;
  border:1px solid rgba(187,255,35,.24);
  border-radius:8px;
  overflow:hidden;
  background:
    radial-gradient(circle at 0 50%,rgba(187,255,35,.13),transparent 62%),
    linear-gradient(135deg,rgba(187,255,35,.055),rgba(0,0,0,.08));
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.018),
    0 6px 18px rgba(0,0,0,.22);
}

.developer-credit::before{
  content:"";
  position:absolute;
  left:0;
  top:8px;
  bottom:8px;
  width:3px;
  border-radius:0 3px 3px 0;
  background:linear-gradient(180deg,#e8ff7a,#8fd800);
  box-shadow:0 0 12px rgba(187,255,35,.52);
}

.developer-label{
  display:block;
  color:#aeb8a8;
  font-size:9px;
  line-height:1;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.developer-link{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:#dfff75;
  -webkit-text-stroke:0;
  font-size:18px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:.065em;
  text-transform:uppercase;
  text-decoration:none;
  text-shadow:0 0 12px rgba(187,255,35,.28);
  transition:color .18s ease,transform .18s ease,text-shadow .18s ease;
}

.developer-link::after{
  content:"↗";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  border:1px solid rgba(187,255,35,.36);
  border-radius:5px;
  color:#bbff23;
  font-size:11px;
  line-height:1;
  background:rgba(187,255,35,.07);
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}

.developer-credit:hover{
  border-color:rgba(187,255,35,.48);
  box-shadow:
    inset 0 0 0 1px rgba(187,255,35,.035),
    0 8px 22px rgba(0,0,0,.28),
    0 0 18px rgba(187,255,35,.075);
}

.developer-link:hover{
  color:#f0ffb1;
  -webkit-text-stroke:0;
  transform:translateX(2px);
  text-shadow:0 0 16px rgba(187,255,35,.5);
}

.developer-link:hover::after{
  background:rgba(187,255,35,.16);
  border-color:rgba(187,255,35,.68);
  transform:translate(1px,-1px);
}

@media(max-width:650px){
  .developer-credit{
    margin-top:10px;
    min-width:150px;
    padding:9px 12px 10px 14px;
  }
  .developer-link{
    font-size:17px;
  }
}
/* PATROCINADORES LATERAIS SEM CORTE */
.ad-wall .ad-slot img,
.ad-wall .vertical-ad img,
.ranking-side-ad-inner.has-sponsor-image img {
  width: 100% !important;
  height: 100% !important;

  object-fit: contain !important;
  object-position: center top !important;

  display: block !important;
  padding: 0 !important;
  margin: 0 !important;

  background: #000 !important;
}


/* BUSCA GLOBAL D20 — atletas e clubes */
.global-search-wrap{position:relative}
.global-search-results{position:absolute;top:calc(100% + 8px);right:0;width:min(430px,calc(100vw - 24px));max-height:520px;overflow:auto;background:#071007;border:1px solid rgba(187,255,35,.35);box-shadow:0 18px 45px rgba(0,0,0,.65);z-index:9999;padding:7px}
.global-search-results[hidden]{display:none!important}
.global-search-title{padding:8px 9px 5px;color:#bbff23;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}
.global-search-item{display:grid;grid-template-columns:46px 1fr auto;gap:10px;align-items:center;padding:8px;border-top:1px solid rgba(187,255,35,.09);background:#050905;color:#fff;text-decoration:none}
.global-search-item:hover{background:#101a10}
.global-search-item img{width:46px;height:46px;object-fit:cover;border-radius:7px;background:#000;border:1px solid rgba(187,255,35,.14)}
.global-search-item span{min-width:0}.global-search-item strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.global-search-item small{display:block;color:#9eaa99;font-size:10px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.global-search-item b{color:#bbff23;font-size:9px}.global-search-empty{padding:18px;text-align:center;color:#aab5a5;font-size:12px}
@media(max-width:650px){.global-search-wrap{width:100%}.global-search-wrap input{width:100%!important}.global-search-results{left:0;right:auto;width:100%}}


/* =========================================================
   PERFIL DO ATLETA — ABA DE DUELOS OFICIAIS
   ========================================================= */
.profile-tab-panel[hidden]{display:none !important;}
.profile-tab-panel{width:100%;}

.pro-tabs .tab-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:22px;
  height:20px;
  margin-left:7px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(187,255,35,.12);
  border:1px solid rgba(187,255,35,.24);
  color:#bbff23;
  font-size:11px;
  line-height:1;
}
.pro-tabs button.active .tab-count{background:#bbff23;color:#081008;}

.player-duels-panel{margin-top:16px;}
.duels-history-card{padding:16px !important;}
.duels-history-head{align-items:center !important;}
.duels-history-head > div:first-child h2{margin-bottom:3px;}

.duels-filter{display:flex;gap:7px;flex-wrap:wrap;}
.duels-filter button{
  border:1px solid rgba(187,255,35,.18);
  background:#071007;
  color:#b9c3b5;
  padding:8px 12px;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
}
.duels-filter button:hover,
.duels-filter button.active{
  border-color:#bbff23;
  background:rgba(187,255,35,.10);
  color:#bbff23;
}

.duels-summary-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  margin:14px 0 16px;
}
.duels-summary-strip > div{
  min-height:82px;
  border:1px solid rgba(187,255,35,.14);
  background:radial-gradient(circle at 85% 15%,rgba(187,255,35,.09),transparent 80px),#050905;
  padding:13px;
}
.duels-summary-strip span{
  display:block;
  color:#94a18e;
  font-size:10px;
  font-weight:900;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.duels-summary-strip strong{
  display:block;
  margin-top:7px;
  color:#bbff23;
  font-size:25px;
  line-height:1;
}

.duels-history-list{display:grid;gap:9px;}
.duel-history-row{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) minmax(410px,.9fr);
  gap:13px;
  align-items:center;
  border:1px solid rgba(187,255,35,.13);
  border-left:3px solid rgba(187,255,35,.22);
  background:linear-gradient(90deg,rgba(187,255,35,.035),transparent 35%),#050805;
  padding:12px 13px;
  transition:border-color .16s ease,background .16s ease;
}
.duel-history-row:hover{
  border-color:rgba(187,255,35,.34);
  background:linear-gradient(90deg,rgba(187,255,35,.065),transparent 40%),#060a06;
}
.duel-history-row.win{border-left-color:#55e96c;}
.duel-history-row.loss{border-left-color:#ff6868;}

.duel-result-mark{
  width:36px;height:36px;display:grid;place-items:center;border-radius:9px;font-size:14px;font-weight:1000;
}
.duel-result-mark.win{color:#70ff82;border:1px solid rgba(85,233,108,.38);background:rgba(85,233,108,.10);}
.duel-result-mark.loss{color:#ff8181;border:1px solid rgba(255,104,104,.34);background:rgba(255,104,104,.09);}

.duel-history-main{min-width:0;}
.duel-history-meta{
  display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;color:#bbff23;font-size:10px;font-weight:900;text-transform:uppercase;
}
.duel-history-meta small{color:#758072;font-size:10px;}
.duel-versus{display:block;margin:5px 0 3px;color:#f4f7ef;font-size:15px;}
.duel-versus a,.duel-versus span{color:#fff;text-decoration:none;}
.duel-versus a:hover{color:#bbff23;}
.duel-opponent-meta{color:#909b8b;font-size:11px;}
.duel-note{margin-top:7px;color:#d1d8cd;font-size:11px;line-height:1.35;}

.duel-history-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;}
.duel-history-stats > div{min-width:0;padding:8px 7px;border-left:1px solid rgba(187,255,35,.10);}
.duel-history-stats span{display:block;color:#778273;font-size:9px;font-weight:900;text-transform:uppercase;white-space:nowrap;}
.duel-history-stats b{
  display:block;margin-top:4px;color:#e9eee6;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.duel-history-stats b.win{color:#70ff82;}
.duel-history-stats b.loss{color:#ff8181;}
.duels-empty-state{padding:30px 18px;border:1px dashed rgba(187,255,35,.18);color:#9aa193;text-align:center;}

@media(max-width:1050px){
  .duel-history-row{grid-template-columns:42px minmax(0,1fr);}
  .duel-history-stats{grid-column:2;grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:700px){
  .duels-history-head{align-items:flex-start !important;flex-direction:column;}
  .duels-filter{width:100%;}
  .duels-filter button{flex:1 1 30%;}
  .duels-summary-strip{grid-template-columns:1fr 1fr;}
  .duel-history-row{grid-template-columns:36px minmax(0,1fr);padding:11px 10px;}
  .duel-result-mark{width:32px;height:32px;}
  .duel-history-stats{grid-column:1/-1;grid-template-columns:1fr 1fr;margin-top:4px;}
  .duel-history-stats > div{border:1px solid rgba(187,255,35,.08);padding:8px;}
}


/* =========================================================
   D20 - PATROCINADORES LATERAIS - AJUSTE DEFINITIVO
   Preenche 100% da lateral usando a própria imagem
   Sem barras pretas, sem fundo duplicado e sem recorte
   ========================================================= */

@media (min-width: 1501px) {

  .ad-wall {
    position: fixed !important;
    top: var(--topbar-height, 34px) !important;
    bottom: 0 !important;
    height: auto !important;

    width: calc((100vw - var(--content-width, 1180px)) / 2) !important;
    min-width: 0 !important;
    max-width: none !important;

    padding: 0 !important;
    margin: 0 !important;

    overflow: hidden !important;
    background: #000 !important;
    display: block !important;
  }

  .ad-wall-left {
    left: 0 !important;
    right: auto !important;
  }

  .ad-wall-right {
    right: 0 !important;
    left: auto !important;
  }

  .ad-wall .ad-slot,
  .ad-wall .vertical-ad {
    position: absolute !important;
    inset: 0 !important;

    width: 100% !important;
    height: 100% !important;

    padding: 0 !important;
    margin: 0 !important;

    border: 0 !important;
    outline: 0 !important;

    overflow: hidden !important;
    background: #000 !important;

    display: block !important;
  }

  .ad-wall .ad-slot img,
  .ad-wall .vertical-ad img,
  .vertical-ad.contain img {
    width: 100% !important;
    height: 100% !important;

    /*
      A imagem é ajustada exatamente ao espaço lateral.
      Não usa cover (que corta) nem contain (que cria barras).
    */
    object-fit: fill !important;
    object-position: center top !important;

    transform: none !important;
    transform-origin: center top !important;

    display: block !important;

    padding: 0 !important;
    margin: 0 !important;

    max-width: none !important;
    max-height: none !important;

    background: transparent !important;
  }

  /* Ranking: aplica a mesma lógica quando houver patrocinador real */
  .ranking-side-ad-inner.has-sponsor-image {
    padding: 0 !important;
    overflow: hidden !important;
    background: #000 !important;
  }

  .ranking-side-ad-inner.has-sponsor-image img {
    width: 100% !important;
    height: 100% !important;

    object-fit: fill !important;
    object-position: center top !important;

    transform: none !important;

    padding: 0 !important;
    margin: 0 !important;

    max-width: none !important;
    max-height: none !important;

    display: block !important;
    background: transparent !important;
  }
}

/* Em telas menores os skins laterais continuam ocultos */
@media (max-width: 1500px) {
  .ad-wall {
    display: none !important;
  }
}

/* =========================================================
   D20 — FIX MOBILE: seção Atletas e equipes sempre visível
   Evita cards presos em d20-reveal/IntersectionObserver no celular.
   ========================================================= */
@media (max-width: 700px){
  #teams.athletes-card,
  #teams.athletes-card.d20-reveal,
  #teams .athlete-grid,
  #teams .athlete-card,
  #teams .athlete-card.d20-reveal{
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }

  #teams.athletes-card{
    display:block !important;
    width:100% !important;
    min-width:0 !important;
    overflow:visible !important;
    content-visibility:visible !important;
  }

  #teams .athlete-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    min-width:0 !important;
    height:auto !important;
    overflow:visible !important;
  }

  #teams .athlete-card{
    display:grid !important;
    grid-template-columns:58px minmax(0,1fr) !important;
    grid-template-rows:auto auto auto !important;
    column-gap:12px !important;
    row-gap:3px !important;
    align-items:center !important;
    width:100% !important;
    min-width:0 !important;
    min-height:82px !important;
    height:auto !important;
    padding:10px 12px !important;
    overflow:visible !important;
    box-sizing:border-box !important;
  }

  #teams .athlete-card img{
    grid-column:1 !important;
    grid-row:1 / 4 !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    border-radius:50% !important;
    object-fit:cover !important;
    align-self:center !important;
  }

  #teams .athlete-card b,
  #teams .athlete-card p,
  #teams .athlete-card span{
    grid-column:2 !important;
    min-width:0 !important;
    margin:0 !important;
    overflow-wrap:anywhere !important;
  }

  #teams .athlete-card b{
    grid-row:1 !important;
    font-size:14px !important;
    line-height:1.15 !important;
  }

  #teams .athlete-card p{
    grid-row:2 !important;
    font-size:12px !important;
    line-height:1.2 !important;
  }

  #teams .athlete-card span{
    grid-row:3 !important;
    font-size:13px !important;
  }
}
