﻿
/* =========================================================
   COPA FEMOTAG 2026
========================================================= */
:root{
  --copa-bg:#06090e;
  --copa-card:#0c1118;
  --copa-card-2:#10151d;
  --copa-border:#242b35;
  --copa-text:#f5f6f8;
  --copa-muted:#a6afbc;
  --copa-red:#e30613;
  --copa-red-dark:#94040b;
  --copa-blue:#1476df;
}
.header-user-btn{
  width:42px;height:42px;border:1px solid #59616d;border-radius:50%;
  background:transparent;color:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto;
}
.header-user-btn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8}
.copa-module{background:radial-gradient(circle at 80% 10%,rgba(227,6,19,.06),transparent 25%),#06090e;color:var(--copa-text)}
.copa-shell{display:grid;grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 82px)}
.copa-sidebar{position:sticky;top:82px;height:calc(100vh - 82px);padding:22px 14px;border-right:1px solid #202630;background:#070b10;display:flex;flex-direction:column;z-index:10}
.copa-side-brand{display:flex;align-items:center;gap:11px;padding:12px 14px 20px;color:var(--copa-red);border-bottom:1px solid #252b34}
.copa-side-nav{display:flex;flex-direction:column;padding-top:10px}
.copa-side-nav button{display:flex;align-items:center;gap:13px;width:100%;padding:14px 14px;border:0;border-left:3px solid transparent;background:transparent;color:#f1f3f5;text-align:left;cursor:pointer;font:inherit;font-size:.87rem;border-bottom:1px solid #1f252e;transition:.2s}
.copa-side-nav button span{width:22px;font-size:1.05rem}
.copa-side-nav button:hover,.copa-side-nav button.active{color:#ff3038;background:linear-gradient(90deg,rgba(227,6,19,.18),rgba(227,6,19,.02));border-left-color:var(--copa-red)}
.copa-side-help{margin-top:auto;padding:16px;border:1px solid #29303a;border-radius:12px;background:#0a0f15}
.copa-side-help p{margin:10px 0;color:var(--copa-muted);font-size:.76rem;line-height:1.6}
.copa-side-help a{color:#ff3038;font-size:.78rem}
.copa-main{min-width:0;width:min(1060px,calc(100% - 44px));margin:0 auto;padding:20px 0 50px}
.copa-screen{display:none;animation:copaFade .25s ease}.copa-screen.active{display:block}
@keyframes copaFade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
.copa-page-hero{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:center;gap:28px;min-height:250px;padding:26px 32px;margin-bottom:18px;border:1px solid var(--copa-border);border-radius:14px;background:linear-gradient(90deg,rgba(6,9,14,.95),rgba(6,9,14,.72)),url("../assets/images/banners/BANNER_COPA.png") center/cover no-repeat;overflow:hidden}
.copa-home-hero{grid-template-columns:245px minmax(0,1fr)}
.copa-crest{display:block;width:min(200px,100%);max-height:205px;object-fit:contain;margin:auto}
.copa-crest-large{width:min(230px,100%);max-height:225px}
.copa-hero-copy{min-width:0}.copa-kicker{display:block;color:#ff2c34;text-transform:uppercase;letter-spacing:2.2px;font-size:.7rem;font-weight:800;margin-bottom:9px}
.copa-hero-copy h1{margin:0 0 12px;font-size:clamp(2.2rem,4.8vw,4.1rem);line-height:.95;color:#fff}.copa-hero-copy h1 em{font-style:normal;color:var(--copa-red)}
.copa-hero-copy p{max-width:820px;margin:0;color:#d2d7de;line-height:1.6;font-size:.95rem}
.copa-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:24px}
.copa-metrics div{padding:4px 15px;border-left:2px solid var(--copa-red)}.copa-metrics b{display:block;font-size:1.35rem}.copa-metrics span{color:var(--copa-muted);font-size:.7rem}
.copa-card{padding:22px;margin-bottom:18px;border:1px solid var(--copa-border);border-radius:14px;background:linear-gradient(145deg,#0d1219,#080c12)}
.copa-section-title{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:18px}.copa-section-title h2,.copa-section-title h3{margin:0}.copa-section-title p{margin:5px 0 0;color:var(--copa-muted);font-size:.78rem}
.copa-how-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.copa-how-grid article{padding:20px;border:1px solid #252d37;border-radius:11px;background:#0d1219}.copa-how-grid article>span{color:var(--copa-red);font-size:1.3rem;font-weight:900}.copa-how-grid h3{margin:10px 0 6px}.copa-how-grid p{margin:0;color:var(--copa-muted);font-size:.78rem;line-height:1.5}
.copa-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative}.copa-timeline:before{content:"";position:absolute;left:8%;right:8%;top:10px;height:2px;background:#404855}.copa-timeline div{position:relative;padding-top:30px;text-align:center}.copa-timeline div:before{content:"";position:absolute;top:2px;left:50%;width:17px;height:17px;border-radius:50%;background:#4c5664;transform:translateX(-50%)}.copa-timeline div.active:before{background:var(--copa-red)}.copa-timeline b,.copa-timeline span{display:block}.copa-timeline b{color:#ff3038}.copa-timeline span{margin-top:8px;color:var(--copa-muted);font-size:.76rem}
.copa-cta{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border:1px solid #751018;border-radius:14px;background:linear-gradient(90deg,rgba(227,6,19,.13),#0b0f15)}.copa-cta>div{display:flex;align-items:center;gap:18px}.copa-cta>div>span{font-size:2.3rem}.copa-cta h2,.copa-cta p{margin:0}.copa-cta p{margin-top:4px;color:var(--copa-muted)}
.copa-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border-radius:9px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;transition:.2s}.copa-btn:hover{transform:translateY(-1px)}
.copa-btn-red{color:#fff;background:linear-gradient(180deg,#eb111b,#bd020b);border-color:#ff1c26}.copa-btn-outline{color:#fff;background:#0e131a;border-color:#313945}
.copa-form-steps{display:flex;flex-wrap:nowrap;margin-bottom:18px;border:1px solid var(--copa-border);border-radius:12px;overflow-x:auto;overflow-y:hidden}.copa-form-steps span{flex:1 1 0;min-width:0;padding:15px 10px;text-align:center;color:var(--copa-muted);border-right:1px solid #252c35;white-space:nowrap}.copa-form-steps span.active{color:#fff;background:rgba(227,6,19,.15)}
.copa-form-section{padding:24px}.copa-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.copa-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.copa-form-grid label,.copa-upload-box h3{font-size:.78rem;font-weight:700}.copa-form-grid input,.copa-form-grid select,.copa-upload-box input,.copa-filters input,.copa-filters select{width:100%;height:46px;margin-top:8px;padding:0 13px;border:1px solid #333b47;border-radius:9px;background:#0b0f15;color:#fff;font:inherit}.copa-form-grid small{display:block;margin-top:6px;color:#ff666c}.span-2{grid-column:span 2}
.copa-title-actions{align-items:flex-end}.copa-athletes-list{display:grid;gap:13px}.copa-athlete-card{padding:16px;border:1px solid #2a323d;border-radius:11px;background:#0a0f15}.copa-athlete-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.copa-remove-athlete{border:0;background:transparent;color:#ff4d54;cursor:pointer}
.copa-radio-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:17px}.copa-radio-row label{display:flex;align-items:center;gap:7px}
.copa-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.copa-upload-box{padding:18px;border:1px dashed #3a4350;border-radius:11px;text-align:center}.copa-upload-box span{display:block;margin:10px;color:var(--copa-muted);font-size:.72rem}
.copa-check-list{display:grid;gap:12px}.copa-check-list label{display:flex;gap:10px;align-items:flex-start;color:#e5e8ed}.copa-check-list input{margin-top:3px;accent-color:var(--copa-red)}
.copa-form-actions{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.copa-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;align-items:end;margin-bottom:18px}.copa-filters input,.copa-filters select{margin-top:0}
.copa-table-wrap{overflow:auto;border:1px solid #242c36;border-radius:11px}.copa-table{width:100%;border-collapse:collapse;min-width:760px}.copa-table th,.copa-table td{padding:14px 13px;border-bottom:1px solid #232a33;text-align:left;font-size:.79rem}.copa-table th{background:#10151d;color:#cfd4dc;text-transform:uppercase;font-size:.67rem;letter-spacing:.4px}.copa-table th.sortavel,.copa-gr-tabela th.sortavel{cursor:pointer;user-select:none;position:relative;padding-right:24px}.copa-table th.sortavel:hover,.copa-table th.sortavel:focus,.copa-gr-tabela th.sortavel:hover,.copa-gr-tabela th.sortavel:focus{background:#151c26;color:#fff;outline:none}.copa-table th.sortavel::after,.copa-gr-tabela th.sortavel::after{content:"↕";position:absolute;right:8px;top:50%;transform:translateY(-50%);font-size:.7rem;color:#697386}.copa-table th.sortavel.sort-asc::after,.copa-gr-tabela th.sortavel.sort-asc::after{content:"↑";color:#fff}.copa-table th.sortavel.sort-desc::after,.copa-gr-tabela th.sortavel.sort-desc::after{content:"↓";color:#fff}.copa-table td{color:#eceff3}.copa-table tbody tr:hover{background:#111720}.copa-status{display:inline-flex;padding:5px 9px;border-radius:6px;font-size:.66rem;text-transform:uppercase}.copa-status.done{color:#54e779;background:#073b1a}.copa-status.scheduled{color:#70b8ff;background:#0b3157}.copa-status.live{color:#fff;background:#9b1b22}.copa-status.postponed{color:#ffd27b;background:#4a3508}.copa-team-badge{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;margin-right:8px;background:#103d78;color:#fff;font-weight:800}
.copa-games-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.copa-game-card{display:grid;grid-template-rows:auto auto 1fr auto;gap:14px;min-height:188px;padding:16px;border:1px solid #27303a;border-radius:12px;background:linear-gradient(145deg,#101720,#080c12);box-shadow:0 14px 34px rgba(0,0,0,.18)}
.copa-game-top,.copa-game-meta,.copa-game-match,.copa-game-foot{min-width:0}.copa-game-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.copa-game-top>span:first-child{color:#dfe5ee;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.3px}.copa-game-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--copa-muted);font-size:.74rem}.copa-game-meta span{padding:5px 8px;border:1px solid #26303a;border-radius:7px;background:#0b1118}
.copa-game-match{display:grid;grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr);gap:10px;align-items:center}.copa-game-team{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:8px;min-width:0;color:#fff;font-weight:800}.copa-game-team-away{grid-template-columns:minmax(0,1fr) 32px;text-align:right}.copa-game-team-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.2;max-height:2.4em;overflow-wrap:anywhere}.copa-game-team .copa-team-logo,.copa-team-logo{display:inline-grid;place-items:center;flex:0 0 auto;width:32px;height:32px;border-radius:50%;overflow:hidden;background:#111923;border:1px solid #2c3745}.copa-game-team .copa-team-logo img,.copa-team-logo img{width:100%;height:100%;object-fit:cover}.copa-game-team .copa-team-badge{flex:0 0 auto;margin-right:0}.copa-game-score{display:inline-flex;align-items:center;justify-content:center;min-width:78px;height:44px;border-radius:10px;border:1px solid #343f4c;background:#0a0f15;color:#fff;font-size:1.15rem}
.copa-game-foot{padding-top:2px;color:#8995a5;font-size:.72rem}.copa-empty-card{grid-column:1/-1;padding:22px;border:1px dashed #313b48;border-radius:11px;color:var(--copa-muted);text-align:center;background:#0b1017}
.copa-tabs{display:flex;border-bottom:1px solid #303844;margin-bottom:18px}.copa-tabs button{padding:13px 18px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--copa-muted);cursor:pointer}.copa-tabs button.active{color:#fff;border-bottom-color:var(--copa-red)}
.copa-stat-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.copa-stat-summary article{padding:18px;border:1px solid #28313b;border-radius:10px;background:#0c1118}.copa-stat-summary b{display:block;font-size:1.6rem}.copa-stat-summary span{color:var(--copa-muted);font-size:.73rem}
.copa-standing-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:16px;align-items:start}.copa-standing-legend{padding:16px;border:1px solid #27303a;border-radius:11px;background:#0b1017;color:#a9b3c2;font-size:.78rem;line-height:1.45}.copa-standing-legend h3{margin:0 0 10px;color:#fff;font-size:1rem}.copa-standing-legend p{margin:0 0 8px}.copa-standing-legend b{color:#fff}
.copa-stats-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.copa-ranking-list{display:grid;gap:7px}.copa-ranking-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;border-radius:8px;background:#10161e}.copa-ranking-row b:last-child{color:#ff3038;font-size:1.05rem}

.copa-captain-card{text-align:center;padding:60px 24px}.copa-lock{font-size:4rem}.copa-captain-card p{color:var(--copa-muted);margin-bottom:22px}
@media(max-width:1050px){.copa-shell{grid-template-columns:190px minmax(0,1fr)}.copa-sidebar{padding-inline:8px}.copa-main{padding-inline:14px}.copa-page-hero{grid-template-columns:170px minmax(0,1fr)}.copa-stats-grid{grid-template-columns:1fr}.copa-standing-layout{grid-template-columns:1fr}.copa-bracket-layout{grid-template-columns:1fr}.copa-match-detail{max-width:500px}}
@media(max-width:820px){.header-user-btn{margin-left:auto;margin-right:8px}.copa-shell{display:block}.copa-sidebar{position:static;width:100%;height:auto;padding:10px;overflow:auto}.copa-side-brand,.copa-side-help{display:none}.copa-side-nav{flex-direction:row;min-width:max-content;padding:0}.copa-side-nav button{width:auto;white-space:nowrap;border-left:0;border-bottom:2px solid transparent;padding:11px 13px}.copa-side-nav button.active{border-bottom-color:var(--copa-red)}.copa-main{padding:14px 10px 40px}.copa-page-hero,.copa-home-hero{grid-template-columns:1fr;text-align:center;padding:24px 16px}.copa-crest,.copa-crest-large{max-height:170px}.copa-metrics{grid-template-columns:repeat(2,1fr);text-align:left}.copa-how-grid{grid-template-columns:repeat(2,1fr)}.copa-form-grid,.copa-form-grid-3,.copa-upload-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.copa-stat-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.copa-how-grid,.copa-stat-summary{grid-template-columns:1fr}.copa-metrics{grid-template-columns:1fr 1fr}.copa-timeline{grid-template-columns:1fr 1fr}.copa-timeline:before{display:none}.copa-cta,.copa-cta>div{align-items:flex-start;flex-direction:column}.copa-form-steps span{flex:0 0 auto;min-width:120px}.copa-form-actions{flex-direction:column}.copa-form-actions .copa-btn{width:100%}}


/* =========================================================
   INSCRIÇÃO DA COPA — FLUXO POR ETAPAS
========================================================= */
.copa-registration-step[hidden]{
  display:none !important;
}

.copa-form-steps span{
  position:relative;
  transition:background .2s ease,color .2s ease,border-color .2s ease;
}

.copa-form-steps span.completed{
  color:#ffffff;
  background:rgba(227,6,19,.08);
}

.copa-form-steps span.completed::after{
  content:"✓";
  display:inline-grid;
  place-items:center;
  width:18px;
  height:18px;
  margin-left:8px;
  border-radius:50%;
  background:#e30613;
  color:#fff;
  font-size:.66rem;
  font-weight:900;
}

.copa-step-actions{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid #252d37;
}

.copa-step-actions-end{
  justify-content:flex-end;
}

.copa-final-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
}

.copa-review-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  margin-bottom:18px;
}

.copa-review-card{
  border:1px solid #28313b;
  border-radius:11px;
  background:#0a0f15;
  padding:18px;
}

.copa-review-card h3{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin:0 0 12px;
}

.copa-review-card h3 button{
  border:1px solid #36404d;
  border-radius:7px;
  background:#111720;
  color:#fff;
  padding:6px 10px;
  cursor:pointer;
}

.copa-review-card p{
  margin:7px 0;
  color:#d7dce3;
}

.copa-review-file{
  display:grid;
  gap:8px;
  margin:12px 0;
  color:#d7dce3;
}

.copa-review-file>b{
  color:#fff;
}

.copa-review-file-preview,
.copa-review-file-document{
  display:flex;
  align-items:center;
  gap:12px;
  min-height:74px;
  padding:10px;
  border:1px solid #28313b;
  border-radius:10px;
  background:#0d131b;
}

.copa-review-file-preview img{
  width:64px;
  height:64px;
  object-fit:contain;
  border-radius:8px;
  background:#080c12;
  border:1px solid #303846;
}

.copa-review-file-preview span,
.copa-review-file-document strong{
  color:#f5f6f8;
  font-size:.88rem;
}

.copa-review-file-document span{
  display:grid;
  place-items:center;
  width:52px;
  height:52px;
  border-radius:8px;
  background:#2a0f14;
  color:#ff3a42;
  border:1px solid #5a1a22;
  font-size:.72rem;
  font-weight:900;
}

.copa-review-file.preview-error .copa-review-file-preview::before{
  content:"IMG";
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  border-radius:8px;
  background:#111720;
  color:#9da5b1;
  border:1px solid #303846;
  font-size:.72rem;
  font-weight:900;
}

.copa-review-card.span-2{
  grid-column:span 2;
}

@media(max-width:540px){
  .copa-form-steps span{flex:0 0 auto;min-width:120px}
  .copa-review-grid{grid-template-columns:1fr}
  .copa-review-card.span-2{grid-column:auto}
  .copa-step-actions,
  .copa-final-actions{
    flex-direction:column-reverse;
    align-items:stretch;
  }

  .copa-step-actions .copa-btn,
  .copa-final-actions .copa-btn{
    width:100%;
  }
}


/* Oculta corretamente os campos do treinador quando a opção “Não” estiver marcada. */
#copa-coach-fields[hidden]{
  display:none !important;
}

/* Mantem o caminho da inscricao sempre em uma unica linha. */
.copa-module .copa-form-steps{
  display:flex !important;
  grid-template-columns:none !important;
  flex-wrap:nowrap !important;
}
.copa-module .copa-form-steps span{
  white-space:nowrap !important;
}


/* =========================================================
   CAMPOS DE DATA DA COPA — PADRÃO FEMOTAGÃO
========================================================= */
.copa-date-input-wrap{
  position:relative;
  width:100%;
  max-width:260px;
  margin-top:8px;
}

.copa-date-input-wrap input[type="date"]{
  width:100%;
  height:42px;
  min-height:42px;
  margin-top:0;
  padding:9px 42px 9px 13px;
  color-scheme:dark;
  cursor:pointer;
  font-size:.86rem;
}

.copa-date-input-wrap input[type="date"]::-webkit-calendar-picker-indicator{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer;
}

.copa-date-custom-icon{
  position:absolute;
  top:50%;
  right:13px;
  width:18px;
  height:18px;
  transform:translateY(-50%);
  fill:none;
  stroke:#ffffff;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  pointer-events:none;
}

@media(max-width:820px){
  .copa-date-input-wrap{
    max-width:none;
  }
}


/* =========================================================
   CHAVEAMENTO COMPLETO
========================================================= */
.copa-bracket-card{
  overflow:hidden;
}

.copa-bracket-filters label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:var(--copa-muted);
  font-size:.72rem;
}

.copa-bracket-filters label select{
  margin-top:0;
}

.copa-bracket-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 285px;
  gap:20px;
  align-items:start;
}

.copa-bracket-scroll{
  min-width:0;
  overflow-x:auto;
  padding:6px 8px 18px;
}

.copa-bracket{
  position:relative;
  display:grid;
  grid-template-columns:230px 230px 230px 210px;
  column-gap:74px;
  min-width:1120px;
  min-height:650px;
  padding:8px 10px 20px;
}

.copa-bracket-column{
  position:relative;
  z-index:2;
}

.copa-bracket-column h3{
  margin:0 0 16px;
  color:#ff3038;
  text-transform:uppercase;
  font-size:.75rem;
  letter-spacing:.55px;
}

.copa-bracket-quarter{
  display:grid;
  grid-template-rows:auto repeat(4,112px);
  gap:22px;
}

.copa-bracket-semi{
  display:grid;
  grid-template-rows:auto 112px 112px;
  gap:128px;
  padding-top:68px;
}

.copa-bracket-final{
  display:grid;
  grid-template-rows:auto 112px;
  gap:0;
  padding-top:225px;
}

.copa-bracket-champion{
  padding-top:191px;
}

.copa-bracket-match{
  position:relative;
  width:100%;
  min-height:112px;
  padding:13px 14px;
  border:1px solid #434c59;
  border-radius:11px;
  background:linear-gradient(145deg,#111720,#0b1017);
  color:#fff;
  text-align:left;
  cursor:pointer;
  transition:.2s ease;
}

.copa-bracket-match:hover,
.copa-bracket-match.selected{
  transform:translateY(-2px);
  border-color:var(--copa-red);
  box-shadow:0 0 0 1px rgba(227,6,19,.16),0 10px 30px rgba(0,0,0,.25);
}

.copa-bracket-match::after{
  content:"";
  position:absolute;
  right:-6px;
  bottom:10px;
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid #818b98;
  background:#0d1219;
}

.copa-bracket-match.completed::after{
  border-color:#e30613;
  background:#e30613;
  box-shadow:inset 0 0 0 2px #0d1219;
}

.copa-bracket-match.progress::after{
  border-color:#e2a417;
}

.copa-bracket-team{
  display:grid;
  grid-template-columns:27px minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-height:31px;
  font-size:.79rem;
}

.copa-bracket-team i{
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  background:var(--team-color);
  color:#fff;
  font-style:normal;
  font-size:.68rem;
  font-weight:900;
}

.copa-bracket-team b{
  color:#ff3038;
  font-size:.94rem;
}

.copa-bracket-match small{
  display:block;
  margin-top:8px;
  color:#8f99a8;
  font-size:.64rem;
}

.copa-champion-card{
  display:flex;
  min-height:245px;
  padding:22px 16px;
  border:1px solid #8a651b;
  border-radius:13px;
  background:
    radial-gradient(circle at 50% 25%,rgba(255,192,50,.22),transparent 42%),
    linear-gradient(145deg,#18140b,#0c1016);
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  box-shadow:0 0 40px rgba(210,145,20,.08);
}

.copa-champion-trophy{
  font-size:4.4rem;
  filter:drop-shadow(0 0 15px rgba(255,190,35,.38));
}

.copa-champion-team{
  margin:14px 0 5px;
  font-size:1.2rem;
  font-weight:900;
}

.copa-champion-card small{
  color:#e1b64a;
  text-transform:uppercase;
  font-size:.67rem;
}

.copa-connector{
  position:absolute;
  z-index:1;
  pointer-events:none;
  border-color:#d9141d;
}

.copa-connector::before,
.copa-connector::after{
  content:"";
  position:absolute;
  background:#d9141d;
}

/* Quartas para semifinal 1 */
.connector-q1-s1{
  left:240px;
  top:109px;
  width:74px;
  height:156px;
  border-top:2px solid #d9141d;
  border-right:2px solid #d9141d;
}

.connector-q3-s1{
  left:240px;
  top:376px;
  width:74px;
  height:0;
  border-top:2px solid #d9141d;
}

/* Quartas para semifinal 2 */
.connector-q2-s2{
  left:240px;
  top:243px;
  width:74px;
  height:156px;
  border-top:2px solid #d9141d;
  border-right:2px solid #d9141d;
}

.connector-q4-s2{
  left:240px;
  top:510px;
  width:74px;
  height:0;
  border-top:2px solid #d9141d;
}

/* Semifinais para final */
.connector-s1-final{
  left:544px;
  top:242px;
  width:74px;
  height:133px;
  border-top:2px solid #d9141d;
  border-right:2px solid #d9141d;
}

.connector-s2-final{
  left:544px;
  top:509px;
  width:74px;
  height:0;
  border-top:2px solid #d9141d;
}

/* Final para campeão */
.connector-final-champion{
  left:848px;
  top:375px;
  width:74px;
  height:0;
  border-top:2px solid #d9141d;
}

.copa-match-detail{
  position:sticky;
  top:100px;
  padding:19px;
  border:1px solid #3b434f;
  border-radius:12px;
  background:linear-gradient(145deg,#0d131b,#080c12);
  box-shadow:0 16px 38px rgba(0,0,0,.24);
}

.copa-match-detail h3{
  margin:0 0 15px;
}

.copa-match-detail h2{
  margin:14px 0;
  font-size:1.22rem;
}

.copa-match-detail dl{
  display:grid;
  grid-template-columns:76px 1fr;
  gap:12px 10px;
  margin:18px 0;
}

.copa-match-detail dt{
  color:var(--copa-muted);
}

.copa-match-detail dd{
  margin:0;
}

.copa-bracket-legend{
  display:flex;
  justify-content:center;
  gap:34px;
  flex-wrap:wrap;
  padding-top:18px;
  border-top:1px solid #262d37;
  color:#c7cdd5;
  font-size:.73rem;
}

.copa-bracket-legend span{
  display:flex;
  align-items:center;
  gap:8px;
}

.legend-dot{
  width:13px;
  height:13px;
  border-radius:50%;
  border:2px solid #8b95a2;
}

.legend-dot.completed{
  background:#e30613;
  border-color:#e30613;
}

.legend-dot.progress{
  border-color:#e2a417;
}

@media(max-width:1050px){
  .copa-bracket-layout{
    grid-template-columns:1fr;
  }

  .copa-match-detail{
    position:static;
    max-width:500px;
  }
}

@media(max-width:720px){
  .copa-bracket{
    transform-origin:top left;
  }

  .copa-bracket-legend{
    justify-content:flex-start;
    gap:18px;
  }
}

@media print{
  body *{
    visibility:hidden;
  }

  #copa-screen-chaveamento,
  #copa-screen-chaveamento *{
    visibility:visible;
  }

  #copa-screen-chaveamento{
    position:absolute;
    inset:0;
    width:100%;
    background:#fff;
  }

  .copa-sidebar,
  header,
  footer,
  .copa-page-hero,
  .copa-bracket-filters,
  .copa-match-detail{
    display:none !important;
  }

  .copa-bracket-card{
    border:0;
    background:#fff;
  }
}


/* =========================================================
   CORREÇÃO DE LAYOUT — CHAVEAMENTO
   Ajuste para caber na área útil sem cortar Final/Campeão
========================================================= */
.copa-bracket-layout{
  display:block;
}

.copa-bracket-scroll{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:8px 4px 20px;
  scrollbar-width:thin;
  scrollbar-color:#6b7280 #11161d;
}

.copa-bracket{
  grid-template-columns:200px 200px 200px 180px;
  column-gap:38px;
  width:100%;
  min-width:900px;
  min-height:630px;
  padding:8px 4px 20px;
}

.copa-bracket-quarter{
  grid-template-rows:auto repeat(4,102px);
  gap:21px;
}

.copa-bracket-semi{
  grid-template-rows:auto 102px 102px;
  gap:123px;
  padding-top:62px;
}

.copa-bracket-final{
  grid-template-rows:auto 102px;
  padding-top:217px;
}

.copa-bracket-champion{
  padding-top:178px;
}

.copa-bracket-match{
  min-height:102px;
  padding:11px 12px;
}

.copa-bracket-team{
  min-height:28px;
  font-size:.74rem;
}

.copa-bracket-team i{
  width:23px;
  height:23px;
  font-size:.62rem;
}

.copa-bracket-match small{
  margin-top:5px;
  font-size:.59rem;
}

.copa-champion-card{
  min-height:225px;
  padding:18px 12px;
}

.copa-champion-trophy{
  font-size:3.7rem;
}

/* Conexões recalculadas para a largura compacta */
.connector-q1-s1{
  left:204px;
  top:103px;
  width:38px;
  height:146px;
}

.connector-q3-s1{
  left:204px;
  top:350px;
  width:38px;
}

.connector-q2-s2{
  left:204px;
  top:226px;
  width:38px;
  height:146px;
}

.connector-q4-s2{
  left:204px;
  top:473px;
  width:38px;
}

.connector-s1-final{
  left:442px;
  top:226px;
  width:38px;
  height:123px;
}

.connector-s2-final{
  left:442px;
  top:472px;
  width:38px;
}

.connector-final-champion{
  left:680px;
  top:349px;
  width:38px;
}

/* Detalhes aparecem abaixo do chaveamento, sem roubar largura */
.copa-match-detail{
  position:static;
  width:min(100%, 760px);
  max-width:none;
  margin:18px auto 0;
}

.copa-match-detail[hidden]{
  display:none !important;
}

@media(max-width:1100px){
  .copa-bracket-scroll{
    padding-bottom:14px;
  }

  .copa-bracket{
    min-width:900px;
  }
}

@media(max-width:820px){
  .copa-bracket-card{
    padding:14px 10px;
  }

  .copa-bracket{
    min-width:860px;
    transform:none;
  }

  .copa-bracket-legend{
    padding-inline:8px;
  }
}


/* =========================================================
   CHAVEAMENTO RESPONSIVO FINAL
   As conexões são desenhadas por SVG a partir da posição real
   dos cards, evitando quebra em diferentes larguras.
========================================================= */
.copa-bracket-card{
  overflow:visible;
}

.copa-bracket-layout{
  display:block !important;
}

.copa-bracket-scroll{
  position:relative;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  padding:12px 8px 20px;
}

.copa-bracket{
  position:relative;
  display:grid;
  grid-template-columns:
    minmax(185px, 1fr)
    minmax(185px, 1fr)
    minmax(185px, 1fr)
    minmax(165px, .88fr);
  column-gap:56px;
  width:100%;
  min-width:920px;
  min-height:610px;
  padding:8px 8px 28px;
  box-sizing:border-box;
}

.copa-bracket-column{
  position:relative;
  z-index:2;
  display:grid;
  align-content:start;
}

.copa-bracket-column h3{
  min-height:20px;
  margin:0;
  color:#ff3038;
  font-size:.76rem;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.7px;
}

.copa-bracket-quarter{
  grid-template-rows:30px repeat(4, 104px);
  row-gap:18px;
  padding-top:0;
}

.copa-bracket-semi{
  grid-template-rows:30px 104px 104px;
  row-gap:139px;
  padding-top:61px;
}

.copa-bracket-final{
  grid-template-rows:30px 104px;
  padding-top:246px;
}

.copa-bracket-champion{
  display:block;
  padding-top:216px;
}

.copa-bracket-champion h3{
  margin-bottom:14px;
}

.copa-bracket-match{
  width:100%;
  min-width:0;
  min-height:104px;
  padding:11px 12px;
  box-sizing:border-box;
}

.copa-bracket-team{
  grid-template-columns:25px minmax(0,1fr) auto;
  gap:7px;
  min-width:0;
}

.copa-bracket-team{
  white-space:nowrap;
}

.copa-bracket-team:not(b){
  overflow:hidden;
}

.copa-bracket-team i{
  flex:0 0 auto;
}

.copa-bracket-team b{
  justify-self:end;
}

.copa-champion-card{
  min-height:212px;
  padding:18px 12px;
}

.copa-bracket-lines{
  position:absolute;
  inset:0;
  z-index:1;
  width:100%;
  height:100%;
  overflow:visible;
  pointer-events:none;
}

.copa-bracket-lines path{
  fill:none;
  stroke:#e30613;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
  opacity:.95;
}

.copa-bracket-lines path.future{
  stroke:#7f8997;
  stroke-dasharray:5 5;
  opacity:.8;
}

.copa-bracket-lines path.champion{
  stroke:#d89b20;
}

.copa-match-detail{
  position:static !important;
  width:min(100%, 720px);
  margin:18px auto 0;
}

.copa-match-detail[hidden]{
  display:none !important;
}

/* Neutraliza os conectores antigos por posição absoluta */
.copa-connector,
.connector-q1-s1,
.connector-q2-s2,
.connector-q3-s1,
.connector-q4-s2,
.connector-s1-final,
.connector-s2-final,
.connector-final-champion{
  display:none !important;
}

@media(max-width:1180px){
  .copa-bracket{
    grid-template-columns:200px 200px 200px 180px;
    column-gap:48px;
    width:max-content;
    min-width:930px;
  }
}

@media(max-width:760px){
  .copa-bracket-card{
    padding:14px 10px;
  }

  .copa-bracket-scroll{
    margin-inline:-2px;
  }

  .copa-bracket{
    grid-template-columns:190px 190px 190px 170px;
    column-gap:42px;
    min-width:868px;
  }

  .copa-bracket-legend{
    justify-content:flex-start;
    padding-inline:6px;
  }
}

/* ===== Bloco 3 — inscrições encerradas e estados vazios ===== */
.copa-inscricoes-fechadas{text-align:center;padding:48px 24px}
.copa-inscricoes-fechadas .copa-lock{font-size:2.4rem;margin-bottom:10px}
.copa-inscricoes-fechadas h2{margin:0 0 8px}
.copa-inscricoes-fechadas p{color:#c7cfdd;max-width:520px;margin:0 auto 18px}
.copa-empty-state{text-align:center;padding:40px 20px;color:#c7cfdd;display:flex;flex-direction:column;gap:6px}
.copa-empty-state strong{font-size:1.05rem;color:#fff}

/* ===== Bloco 4 — cabeçalho da tabela de atletas (Baixar) ===== */
.copa-athletes-summary-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.copa-athletes-summary-head h3{margin:0}

/* ===== Bloco 5 — recolher/expandir o menu interno da Copa ===== */
.copa-side-collapse{margin-left:auto;background:none;border:0;color:#8b93a3;font-size:1.15rem;line-height:1;cursor:pointer;padding:2px 4px}
.copa-side-collapse:hover{color:#fff}
.copa-sidebar.nav-oculto .copa-side-nav{display:none}

/* ===== Ajuste — Responsabilidade como checkboxes simples (sem caixa) ===== */
.copa-athlete-flags{display:flex;gap:24px;margin:2px 0 16px;flex-wrap:wrap}
.copa-check-inline{display:flex;align-items:center;gap:8px;font-weight:600;color:#e7ebf1;cursor:pointer}
.copa-check-inline input{width:auto;height:auto;margin:0}
.copa-check-inline[hidden],#copa-athlete-origin-wrap[hidden],#copa-athlete-email-wrap[hidden]{display:none!important}
.copa-athlete-email-wrap{margin:0 0 18px}

/* O site usa apenas o menu principal do topo; o menu lateral interno foi removido. */
#page-copa .copa-sidebar{display:none!important}
#page-copa .copa-shell{grid-template-columns:minmax(0,1fr)!important}
#page-copa .copa-main{width:min(1060px,calc(100% - 44px));margin-inline:auto}

/* ===== Upload de escudo/comprovante — status ===== */
.copa-upload-status{display:block;margin-top:8px;font-size:.82rem;color:#9fb0c8}

/* Data digitável + calendário nativo nas inscrições */
.copa-flex-date{display:grid;grid-template-columns:1fr 44px;gap:8px;align-items:center;margin-top:8px;max-width:300px}
.copa-flex-date .copa-date-text{width:100%;margin:0}
.copa-flex-date input[type="date"]{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.copa-date-button{height:42px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:8px;cursor:pointer;font-size:18px}
.copa-date-button:hover{background:rgba(255,255,255,.12)}

/* Cadastro de atletas: ação alinhada à direita e com respiro inferior. */
.copa-athlete-add-actions{display:flex;justify-content:flex-end;margin:8px 0 28px;padding-bottom:4px}
@media (max-width:700px){.copa-athlete-add-actions{justify-content:stretch}.copa-athlete-add-actions .copa-btn{width:100%}}

/* ===== Regulamento público da Copa ===== */
.copa-reg-hero{align-items:center}
.copa-reg-intro p{margin:0 0 14px;color:#c5cbd5;line-height:1.75}.copa-reg-intro p:last-child{margin-bottom:0}
.copa-reg-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.copa-reg-info-grid article{border:1px solid #29313d;background:#0b1017;padding:18px;border-radius:12px}.copa-reg-info-grid b{color:#ed1c24;display:block;margin-bottom:6px}.copa-reg-info-grid p{margin:0;color:#c5cbd5;line-height:1.55}
.copa-reg-list,.copa-reg-modalities ol{margin:0;padding-left:22px;color:#c5cbd5}.copa-reg-list li,.copa-reg-modalities li{padding:7px 0;line-height:1.55}
.copa-reg-modalities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.copa-reg-modalities article{border:1px solid #29313d;background:#0b1017;padding:20px;border-radius:12px}.copa-reg-modalities h3{margin:0 0 14px;color:#fff;font-size:1.05rem}
.copa-reg-docs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.copa-reg-docs a{display:flex;align-items:center;gap:13px;border:1px solid #29313d;background:#0b1017;padding:16px;border-radius:12px;color:#fff;text-decoration:none;transition:.2s}.copa-reg-docs a:hover{border-color:#ed1c24;transform:translateY(-2px)}.copa-reg-docs a>span{display:grid;place-items:center;width:44px;height:44px;border-radius:10px;background:#291014;color:#ff4148;font-size:.72rem;font-weight:800}.copa-reg-docs a div{display:flex;flex-direction:column;gap:3px;min-width:0}.copa-reg-docs small{color:#9da5b1}.copa-reg-docs i{margin-left:auto;color:#ed1c24;font-style:normal}
.copa-reg-contact a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
@media(max-width:900px){.copa-reg-modalities,.copa-reg-docs{grid-template-columns:1fr}.copa-reg-info-grid{grid-template-columns:1fr}}

/* Regulamento público — capítulos e conteúdo detalhado */
.copa-reg-chapters{display:grid;gap:14px}
.copa-reg-chapter{border:1px solid #29313d;background:#0b1017;border-radius:12px;padding:18px}
.copa-reg-chapter h3{margin:0 0 12px;color:#fff;font-size:1rem;letter-spacing:.02em}
.copa-reg-chapter ol{margin:0;padding-left:22px;color:#c5cbd5}
.copa-reg-chapter li{padding:6px 0;line-height:1.6}
.copa-reg-modalities article ol{max-height:420px;overflow:auto;padding-right:8px}
.copa-reg-modalities article ol::-webkit-scrollbar{width:7px}
.copa-reg-modalities article ol::-webkit-scrollbar-thumb{background:#343b47;border-radius:8px}


/* Regulamento da Copa — visual por modalidade */
.copa-reg-modalities-card .copa-section-title p{margin:8px 0 0;color:#9da5b1}
.copa-reg-modality-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:20px;align-items:start}
.copa-reg-modality-tabs{display:grid;gap:10px;position:sticky;top:18px}
.copa-reg-modality-tabs button{width:100%;display:flex;align-items:center;gap:12px;text-align:left;border:1px solid #29313d;background:#0b1017;color:#c5cbd5;padding:15px 16px;border-radius:12px;font:inherit;font-weight:700;cursor:pointer;transition:.2s}
.copa-reg-modality-tabs button span{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:#151b24;color:#8f98a6;font-size:.72rem;letter-spacing:.08em}
.copa-reg-modality-tabs button:hover{border-color:#5a6472;color:#fff;transform:translateX(2px)}
.copa-reg-modality-tabs button.active{border-color:#ed1c24;background:linear-gradient(135deg,#241014,#11151c);color:#fff;box-shadow:0 10px 30px rgba(237,28,36,.10)}
.copa-reg-modality-tabs button.active span{background:#ed1c24;color:#fff}
.copa-reg-modality-panels{min-width:0}
.copa-reg-modality-panels article{border:1px solid #29313d;background:#0b1017;border-radius:14px;padding:24px;min-height:360px}
.copa-reg-panel-heading{border-bottom:1px solid #242b35;padding-bottom:16px;margin-bottom:14px}
.copa-reg-panel-heading span{display:block;color:#ed1c24;text-transform:uppercase;font-size:.68rem;letter-spacing:.22em;font-weight:800;margin-bottom:7px}
.copa-reg-panel-heading h3{margin:0;color:#fff;font-size:1.45rem}
.copa-reg-modality-panels ol{counter-reset:regra;list-style:none;margin:0;padding:0;display:grid;gap:0}
.copa-reg-modality-panels li{counter-increment:regra;display:grid;grid-template-columns:34px 1fr;gap:13px;align-items:start;padding:13px 0;border-bottom:1px solid #202630;color:#c5cbd5;line-height:1.6}
.copa-reg-modality-panels li:last-child{border-bottom:0}
.copa-reg-modality-panels li::before{content:counter(regra,decimal-leading-zero);display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:#151b24;color:#ed1c24;font-size:.69rem;font-weight:800}
.copa-side-brand{gap:0}.copa-side-nav button{gap:0;padding-left:18px}
.copa-lock,.copa-champion-trophy{width:42px;height:42px;border:1px solid #343c48;border-radius:12px;background:linear-gradient(135deg,#151b24,#0b1017)}
@media(max-width:900px){.copa-reg-modality-layout{grid-template-columns:1fr}.copa-reg-modality-tabs{grid-template-columns:repeat(3,minmax(0,1fr));position:static}.copa-reg-modality-tabs button{justify-content:center;text-align:center;flex-direction:column}.copa-reg-modality-tabs button:hover{transform:none}}
@media(max-width:620px){.copa-reg-modality-tabs{grid-template-columns:1fr}.copa-reg-modality-tabs button{justify-content:flex-start;text-align:left;flex-direction:row}.copa-reg-modality-panels article{padding:18px}.copa-reg-modality-panels li{grid-template-columns:30px 1fr;gap:10px}}

/* Dados reais por campeonato */
.copa-team-logo{width:30px;height:30px;border-radius:50%;display:inline-grid;place-items:center;overflow:hidden;background:#141722;margin-right:9px;vertical-align:middle}.copa-team-logo img{width:100%;height:100%;object-fit:contain}.copa-empty-cell{text-align:center;padding:34px!important;color:#9aa2b3}.copa-positive{color:#50df72}.copa-negative{color:#ff4249}.copa-real-bracket{display:flex;gap:28px;overflow-x:auto;padding:20px 0 10px;align-items:flex-start}.copa-real-bracket-column{min-width:280px;flex:1}.copa-real-bracket-column h3{color:#ef1721;text-transform:uppercase;letter-spacing:.12em;font-size:.85rem;margin:0 0 16px}.copa-real-match{border:1px solid #343846;background:#11141c;border-radius:12px;padding:14px;margin-bottom:14px}.copa-real-match>div{display:flex;align-items:center;gap:6px;padding:7px 0}.copa-real-match>div b{margin-left:auto;color:#fff;font-size:1.05rem}.copa-real-match small{display:block;border-top:1px solid #292d38;margin-top:7px;padding-top:9px;color:#9299aa}.copa-bracket-filters label{min-width:260px}.copa-bracket-filters label span{display:block;margin-bottom:7px;color:#b8beca;font-size:.8rem}
.copa-date-manual{display:flex;gap:8px;align-items:center}.copa-date-manual>input[type=text]{flex:1;min-width:0;width:100%}.copa-date-manual .copa-date-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.18);background:#171a22;color:#fff;border-radius:8px;cursor:pointer;font-size:0}.copa-date-manual .copa-date-button:hover{border-color:#e30910;background:#1d212b}.copa-date-manual .copa-date-button svg{display:block}.copa-date-picker{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;overflow:hidden!important}

/* Correção final do campo manual de data da Copa. */
.copa-date-manual{
  position:relative;
  display:flex!important;
  align-items:stretch!important;
  gap:8px!important;
  width:100%;
  max-width:none!important;
}
.copa-date-manual>input[type="text"]{
  flex:1 1 auto!important;
  min-width:0!important;
  width:100%!important;
  height:46px!important;
  margin:0!important;
}
.copa-date-manual .copa-date-button{
  flex:0 0 46px!important;
  width:46px!important;
  min-width:46px!important;
  height:46px!important;
  min-height:46px!important;
  margin:0!important;
  padding:0!important;
}
.copa-date-manual .copa-date-picker{
  position:fixed!important;
  left:-10000px!important;
  top:0!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  opacity:0!important;
  pointer-events:none!important;
  overflow:hidden!important;
  border:0!important;
  padding:0!important;
  margin:0!important;
}

/* Evita ícone duplicado nos campos de data manual da Copa. */
.copa-date-manual .copa-date-input-wrap,
.copa-date-manual .copa-date-custom-icon,
.copa-date-manual .femotag-date-button{
  display:none!important;
}
.copa-date-manual > .copa-date-button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:stretch!important;
}

/* ===================== CHAVEAMENTO (bracket estilo referência) ===================== */
.copa-bracket-filters{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}
.copa-bracket-filters .copa-bracket-baixar{margin-left:auto}
.copa-bracket{display:flex;gap:46px;overflow-x:auto;padding:26px 6px 12px;align-items:stretch}
.copa-bk-col{display:flex;flex-direction:column;min-width:236px;flex:0 0 auto}
.copa-bk-col-head{text-align:center;color:#ef2b34;font-weight:800;text-transform:uppercase;letter-spacing:.12em;font-size:.82rem;margin-bottom:16px}
.copa-bk-col-body{display:flex;flex-direction:column;justify-content:space-around;gap:18px;flex:1}
.copa-bk-match{position:relative;background:#0f1219;border:1px solid #2a2f3b;border-radius:12px;padding:12px 12px 10px;box-shadow:0 8px 22px rgba(0,0,0,.28)}
.copa-bk-badge{position:absolute;top:-11px;left:12px;background:#1b2130;border:1px solid #333d4f;color:#c8d0dd;font-size:.66rem;font-weight:800;letter-spacing:.06em;padding:3px 8px;border-radius:6px}
.copa-bk-team{display:flex;align-items:center;gap:9px;padding:7px 4px}
.copa-bk-team+.copa-bk-team{border-top:1px solid #232a35}
.copa-bk-team .copa-bk-name{flex:1;min-width:0;color:#cfd6e2;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.copa-bk-team .copa-bk-score{color:#8b94a5;font-size:1rem;min-width:20px;text-align:center}
.copa-bk-team.venc .copa-bk-name{color:#fff;font-weight:800}
.copa-bk-team.venc .copa-bk-score{color:#fff}
.copa-bk-logo{width:26px;height:26px;border-radius:50%;overflow:hidden;background:#151b24;display:inline-grid;place-items:center;flex:0 0 auto}
.copa-bk-logo img{width:100%;height:100%;object-fit:contain}
.copa-bk-logo.empty{border:1px dashed #333c4a}
.copa-bk-foot{display:flex;align-items:center;gap:7px;margin-top:8px;padding-top:8px;border-top:1px solid #202631;color:#8b94a5;font-size:.74rem}
.dot{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto;background:#7b8494}
.dot.done{background:#ef2b34}.dot.live{background:#f5b301}.dot.idle{background:#8b94a5}
/* conectores pontilhados entre as colunas */
.copa-bk-match::after{content:"";position:absolute;top:50%;right:-24px;width:24px;border-top:2px dotted #6a2530}
.copa-bk-match::before{content:"";position:absolute;top:50%;left:-24px;width:24px;border-top:2px dotted #6a2530}
.copa-bk-col:first-child .copa-bk-match::before{display:none}
.copa-bk-col-champ .copa-bk-match::after,.copa-bk-col:last-child .copa-bk-match::after{display:none}
/* coluna campeão */
.copa-bk-col-champ .copa-bk-col-body{justify-content:center}
.copa-bk-champ-body{display:grid;place-items:center}
.copa-bk-trophy{width:100%;max-width:230px;background:linear-gradient(180deg,#241a05,#14100a);border:1px solid #6b551d;border-radius:16px;padding:26px 18px;text-align:center;box-shadow:0 14px 40px rgba(120,90,10,.22)}
.copa-bk-trophy-ico{font-size:52px;line-height:1;margin-bottom:10px}
.copa-bk-trophy .copa-bk-logo{width:46px;height:46px;margin:0 auto 8px}
.copa-bk-trophy b{display:block;color:#fff;font-size:1.15rem}
.copa-bk-trophy small{display:block;color:#d9b64a;font-weight:700;letter-spacing:.1em;margin-top:4px;font-size:.7rem}
.copa-bracket-legenda{display:flex;flex-wrap:wrap;gap:22px;justify-content:center;padding:16px 8px 4px;border-top:1px solid #202631;margin-top:8px;color:#9aa2b3;font-size:.82rem}
.copa-bracket-legenda span{display:inline-flex;align-items:center;gap:8px}
@media (max-width:720px){.copa-bracket{gap:30px}.copa-bk-col{min-width:210px}.copa-bk-match::after,.copa-bk-match::before{width:14px}.copa-bk-match::after{right:-16px}.copa-bk-match::before{left:-16px}}
@media print{.copa-bracket-filters{display:none}.copa-side-nav,.copa-header,.site-header,header,.copa-page-hero{display:none!important}.copa-bracket{overflow:visible}.copa-bk-match{box-shadow:none}}

/* ===== Fase de grupos dentro da tela de Chaveamento ===== */
.copa-bk-grupos{margin-bottom:8px}
.copa-bk-secao{color:#fff;font-size:1.05rem;text-transform:uppercase;letter-spacing:.14em;margin:8px 0 16px;padding-bottom:8px;border-bottom:1px solid #262c37}
.copa-grupos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:16px;margin-bottom:26px}
.copa-grupo-card{border:1px solid #262d38;background:#0e1219;border-radius:14px;padding:16px}
.copa-grupo-card h3{margin:0 0 12px;color:#ef2b34;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}
.copa-gr-tabela{width:100%;border-collapse:collapse;font-size:.82rem}
.copa-gr-tabela th{color:#8b94a5;text-align:left;font-weight:700;padding:6px 8px;border-bottom:1px solid #232a35;font-size:.72rem}
.copa-gr-tabela td{padding:7px 8px;border-bottom:1px solid #1a2028;color:#cfd6e2}
.copa-gr-tabela tbody tr:last-child td{border-bottom:0}
.copa-gr-tabela td b{color:#fff}
.copa-gr-jogos{margin-top:12px;display:flex;flex-direction:column;gap:8px}
.copa-gr-jogo{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:9px 10px;border:1px solid #232a35;background:#11151d;border-radius:10px}
.copa-gr-jogo .copa-gr-t{display:flex;align-items:center;gap:7px;min-width:0}
.copa-gr-jogo .copa-gr-t.r{justify-content:flex-end}
.copa-gr-jogo .copa-gr-sc{color:#fff;font-weight:800;white-space:nowrap;padding:0 6px}
.copa-gr-jogo small{grid-column:1/-1;display:flex;align-items:center;gap:7px;color:#8b94a5;font-size:.72rem;border-top:1px solid #1c222c;margin-top:2px;padding-top:6px}
.copa-gr-vazio{color:#8b94a5;font-size:.82rem;margin:8px 0 0}

@media print{
  @page{size:A4 landscape;margin:10mm}
  body{background:#fff!important;color:#111!important}
  body *{print-color-adjust:exact;-webkit-print-color-adjust:exact}
  .copa-screen:not(#copa-screen-chaveamento),
  .copa-bracket-filters,
  .copa-page-hero,
  .copa-side-nav,
  .copa-sidebar,
  .copa-header,
  header{display:none!important}
  #copa-screen-chaveamento{display:block!important;padding:0!important}
  #copa-screen-chaveamento .copa-card{border:0!important;background:#fff!important;padding:0!important;margin:0!important}
  .copa-bk-secao{color:#111!important;border-color:#999!important;break-after:avoid}
  .copa-grupos-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;break-inside:avoid}
  .copa-grupo-card,.copa-bk-match,.copa-bk-trophy{background:#fff!important;color:#111!important;border-color:#333!important;box-shadow:none!important;break-inside:avoid}
  .copa-bracket{display:flex!important;gap:18px!important;overflow:visible!important;padding:10px 0!important;break-inside:avoid}
  .copa-bk-col{min-width:170px!important;max-width:190px!important}
  .copa-bk-col-head,.copa-grupo-card h3{color:#d00!important}
  .copa-bk-team .copa-bk-name,.copa-bk-team.venc .copa-bk-name,.copa-bk-team .copa-bk-score,.copa-bk-trophy b,.copa-gr-tabela td,.copa-gr-tabela td b,.copa-gr-jogo .copa-gr-sc{color:#111!important}
  .copa-bracket-legenda{color:#111!important;border-color:#999!important;break-before:avoid}
}
@media(max-width:520px){.copa-gr-jogo{grid-template-columns:1fr auto 1fr}.copa-gr-jogo .copa-gr-t .copa-team-logo{display:none}}

/* ===== Fase 5 — Contagens regressivas e ações de atleta ===== */
.copa-countdown{margin-top:18px;display:flex;flex-direction:column;gap:8px}
.copa-countdown-label{color:var(--copa-muted);font-size:.74rem;text-transform:uppercase;letter-spacing:.06em}
.copa-countdown-grid{display:flex;gap:10px;flex-wrap:wrap}
.copa-countdown-box{min-width:58px;padding:10px 6px;border:1px solid #2a323d;border-radius:10px;background:rgba(10,15,21,.55);text-align:center}
.copa-countdown-box b{display:block;font-size:1.5rem;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.copa-countdown-box span{display:block;margin-top:5px;color:var(--copa-muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.05em}
.copa-athlete-row-actions{display:flex;gap:6px;justify-content:flex-end;flex-wrap:wrap}
.copa-edit-athlete{border:0;background:transparent;color:#5aa9ff;cursor:pointer;font:inherit}
.copa-edit-athlete:hover{text-decoration:underline}
.copa-athlete-icon-btn{display:inline-grid;place-items:center;width:28px;height:28px;border:1px solid rgba(255,255,255,.18);border-radius:7px;background:rgba(255,255,255,.05);color:#fff;font-size:15px;line-height:1;cursor:pointer}
.copa-athlete-icon-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.copa-athlete-icon-btn:hover{border-color:rgba(255,255,255,.42);background:rgba(255,255,255,.12)}
