/* ═══════════════════════════════════════════════════════════════════════
   Pro Cup — identidade rubro sobre carvão, com alternativa clara.
   As cores-base vivem em variáveis para que os dois temas mantenham
   contraste e a mesma identidade visual.
   ═══════════════════════════════════════════════════════════════════════ */
:root{
  --bg:#0E0C0D; --surface:#161314; --surface-2:#1D1819; --surface-3:#241E1F;
  --line:#2B2425; --line-2:#3A3132;
  --ink:#F3EEEF; --ink-2:#A69C9E; --ink-3:#736A6C;
  --brand:#B80D2E; --brand-2:#E31B42; --brand-dim:#360912;
  --ok:#4FA96B; --ok-dim:#16281C; --warn:#D9A03A; --warn-dim:#2C2210;
  --r:10px; --r-lg:16px;
  --shadow:0 1px 2px rgba(0,0,0,.5), 0 18px 40px -24px rgba(0,0,0,.9);
  --sans:"Archivo",system-ui,-apple-system,sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
*,*::before,*::after{box-sizing:border-box}
html{color-scheme:dark}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:15px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(900px 480px at 50% -8%, #23100E 0%, transparent 70%);
  background-repeat:no-repeat;
}
h1,h2,h3,h4{margin:0;letter-spacing:-.02em;text-wrap:balance}
h1{font-size:clamp(28px,5vw,44px);font-weight:800;line-height:1.04}
h2{font-size:21px;font-weight:700}
h3{font-size:16px;font-weight:700}
p{margin:0 0 12px;max-width:66ch}
a{color:var(--brand-2)}
:focus-visible{outline:2px solid var(--brand-2);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}

/* ── layout ─────────────────────────────────────────────────────────── */
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
/* tabelas de grupo e chaveamento precisam de mais respiro que uma tela de leitura */
#view.wide{max-width:1340px}
header.top{
  position:sticky;top:0;z-index:40;background:rgba(14,12,13,.88);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--line);
}
.top-in{
  display:flex;align-items:center;gap:18px;height:62px;
  max-width:none;margin:0;padding-left:clamp(20px,3vw,40px);padding-right:clamp(20px,3vw,40px);
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);flex-shrink:0}
.brand img{width:34px;height:30px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(227,27,66,.22))}
.brand b{font-weight:800;letter-spacing:.04em;font-size:15px}
nav.tabs{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
nav.tabs::-webkit-scrollbar{display:none}
nav.tabs a{
  padding:7px 12px;border-radius:7px;text-decoration:none;color:var(--ink-2);
  font-size:13.5px;font-weight:600;white-space:nowrap;
}
nav.tabs a:hover{background:var(--surface-2);color:var(--ink)}
nav.tabs a.on{background:var(--brand-dim);color:var(--brand-2)}
main{padding:30px 0 90px;min-height:60vh}
main.wrap{padding:16px 20px 90px}
main.wrap:has(> .championship-hub){max-width:1280px}

/* ── perfil no cabeçalho ───────────────────────────────────────────── */
#session{position:relative;margin-left:auto;flex:0 0 auto}
.session-actions{display:flex;align-items:center;gap:5px}
.notification-menu{position:relative}
.notification-trigger{
  appearance:none;width:42px;height:42px;display:grid;place-items:center;padding:0;border:1px solid transparent;
  border-radius:50%;background:transparent;color:var(--brand-2);cursor:pointer;
  transition:background .16s,border-color .16s,color .16s,box-shadow .16s;
}
.notification-trigger:hover,.notification-trigger.open{
  border-color:color-mix(in srgb,var(--brand) 52%,var(--line));background:var(--brand-dim);
  box-shadow:0 0 18px color-mix(in srgb,var(--brand) 18%,transparent);
}
.notification-trigger span,.notification-trigger svg{display:block;width:20px;height:20px}
.notification-trigger path{
  fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
.profile-menu{position:relative}
.profile-trigger{
  appearance:none;width:58px;min-height:42px;display:flex;align-items:center;gap:2px;padding:3px 4px 3px 3px;
  border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-2);cursor:pointer;
  transition:background .16s,border-color .16s,color .16s;
}
.profile-trigger:hover,.profile-trigger.open{border-color:var(--line-2);background:var(--surface-2);color:var(--brand-2)}
.profile-avatar{
  width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:50%;
  background:var(--surface-3);color:var(--brand-2);font-size:10px;font-weight:900;object-fit:cover;
}
.profile-chevron{width:15px;height:15px;display:grid;place-items:center;flex:0 0 15px;transition:transform .16s}
.profile-chevron svg{display:block;width:15px;height:15px;overflow:hidden}
.profile-chevron path{fill:none;stroke:currentColor;stroke-width:2.35;stroke-linecap:round;stroke-linejoin:round}
.profile-trigger.open .profile-chevron{transform:rotate(180deg)}
.profile-popover{
  position:absolute;z-index:70;top:calc(100% + 9px);right:0;width:min(286px,calc(100vw - 32px));
  padding:7px;border:1px solid var(--line-2);border-radius:13px;background:var(--surface);
  color:var(--ink);box-shadow:0 22px 60px -22px rgba(0,0,0,.72);
  animation:profileMenuIn .16s cubic-bezier(.16,1,.3,1) both;
}
.profile-popover-head{display:grid;gap:2px;padding:10px 11px 12px}
.profile-popover-head strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.profile-popover-head small{overflow:hidden;color:var(--ink-3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.profile-menu-item{
  appearance:none;width:100%;display:grid;grid-template-columns:31px minmax(0,1fr);align-items:center;gap:9px;
  padding:9px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;text-align:left;cursor:pointer;
}
.profile-menu-item:hover{background:var(--surface-2)}
.profile-menu-item>span:nth-child(2){min-width:0;display:grid;gap:1px}
.profile-menu-item strong{font-size:12px;font-weight:750}
.profile-menu-item small{color:var(--ink-3);font-size:9px;line-height:1.35}
.profile-menu-icon{
  width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;
  background:var(--surface-2);color:var(--brand-2);font-size:14px;font-weight:900;
}
.profile-menu-icon svg{display:block;width:17px;height:17px}
.profile-menu-icon svg path{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.profile-menu-item.theme-control{grid-template-columns:31px minmax(0,1fr) 38px}
.theme-switch{
  position:relative;width:38px;height:22px;border:1px solid var(--line-2);border-radius:999px;
  background:var(--surface-3);box-shadow:inset 0 1px 2px rgba(0,0,0,.18);
  transition:background .22s,border-color .22s,box-shadow .22s;
}
.theme-switch-knob{
  position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:var(--ink-3);
  box-shadow:0 1px 3px rgba(0,0,0,.28);transition:transform .24s cubic-bezier(.2,.8,.2,1),background .22s;
}
.theme-switch.on{border-color:#8e182e;background:#3a0812;box-shadow:inset 0 0 0 1px rgba(255,23,56,.08),0 0 12px rgba(201,0,30,.12)}
.theme-switch.on .theme-switch-knob{transform:translateX(16px);background:#ff3654}
.profile-menu-item.danger strong,.profile-menu-item.danger .profile-menu-icon{color:var(--brand-2)}
.profile-menu-separator{height:1px;margin:5px 8px;background:var(--line)}
.notification-popover{right:0;width:min(330px,calc(100vw - 32px));padding:0;overflow:hidden}
.notification-head{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px 16px;
  border-bottom:1px solid var(--line);background:var(--surface-2);
}
.notification-head strong{font-size:13px}
.notification-status{
  padding:3px 7px;border-radius:99px;background:var(--brand-dim);color:var(--brand-2);
  font-size:8px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;
}
.notification-empty{display:grid;justify-items:center;gap:5px;padding:30px 20px;text-align:center}
.notification-empty>span{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--brand-dim);color:var(--brand-2)}
.notification-empty svg{width:17px;height:17px}
.notification-empty path{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.notification-empty strong{font-size:12px}
.notification-empty small{max-width:28ch;color:var(--ink-3);font-size:9px;line-height:1.45}
@keyframes profileMenuIn{from{opacity:0;transform:translateY(-5px) scale(.98)}to{opacity:1;transform:none}}

.competition-settings{
  width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid var(--line-2);
  border-radius:18px;background:var(--surface);color:var(--ink);box-shadow:0 34px 110px rgba(0,0,0,.78);overflow:hidden;
}
.competition-settings[open]{display:flex;flex-direction:column}
.competition-settings::backdrop{background:rgba(5,3,4,.75);backdrop-filter:blur(5px)}
.competition-settings-head{
  position:sticky;z-index:2;top:0;display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;
  border-bottom:1px solid var(--line);background:
    radial-gradient(circle at 8% -10%,color-mix(in srgb,var(--brand) 28%,transparent),transparent 46%),
    linear-gradient(135deg,var(--surface-2),var(--surface));
}
.competition-settings-head>span{display:grid;gap:6px}
.competition-settings-head h2{font-size:22px}
.competition-settings-head p{max-width:56ch;margin:0;color:var(--ink-3);font-size:10px;line-height:1.45}
.settings-close{
  appearance:none;width:32px;height:32px;display:grid;place-items:center;border:1px solid var(--line);
  border-radius:8px;background:var(--surface-3);color:var(--ink-2);font:inherit;font-size:22px;line-height:1;cursor:pointer;
}
.settings-close:hover{border-color:var(--brand);color:var(--brand-2)}
.competition-settings-body{min-height:0;flex:1 1 auto;padding:22px 24px 24px;overflow-y:auto}
.settings-section{display:grid;gap:12px;padding:19px 0;border-top:1px solid var(--line)}
.competition-settings-body>.settings-section:first-child{padding-top:0;border-top:0}
.settings-section-title{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:start;gap:10px}
.settings-section-title>span{
  width:28px;height:28px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--brand) 48%,var(--line));
  border-radius:8px;background:var(--brand-dim);color:var(--brand-2);font-family:var(--mono);font-size:8px;font-weight:900;
}
.settings-section-title h3{font-size:13px}
.settings-section-title p{margin:2px 0 0;color:var(--ink-3);font-size:9px;line-height:1.4}
.settings-competition-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.settings-competition-choice{
  appearance:none;position:relative;min-height:68px;display:grid;grid-template-columns:40px minmax(0,1fr) 10px;align-items:center;
  gap:9px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--ink);
  font:inherit;text-align:left;cursor:pointer;transition:border-color .16s,background .16s,transform .16s;
}
.settings-competition-choice:hover{border-color:color-mix(in srgb,var(--brand) 52%,var(--line));transform:translateY(-1px)}
.settings-competition-choice.active{border-color:var(--brand);background:linear-gradient(135deg,var(--brand-dim),var(--surface-2))}
.settings-competition-choice>img:first-child{width:38px;height:32px;display:block;object-fit:contain;filter:drop-shadow(0 0 7px rgba(227,27,66,.2))}
.settings-competition-choice>span:nth-child(2){min-width:0;display:grid;gap:1px}
.settings-competition-choice strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.settings-competition-choice small{color:var(--ink-3);font-size:8px}
.settings-competition-choice i{width:8px;height:8px;border:1px solid var(--line-2);border-radius:50%;background:var(--surface-3)}
.settings-competition-choice.active i{border-color:var(--brand-2);background:var(--brand-2);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 18%,transparent)}
.settings-date-grid{display:grid;grid-template-columns:1fr .65fr;gap:12px}
.settings-date-grid .field{margin:0}
.settings-registration-date{grid-column:1/-1;max-width:calc(50% - 6px)}
.settings-details-field{margin:0}
.settings-feedback{
  display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;margin:3px 0 18px;padding:11px 12px;
  border:1px solid color-mix(in srgb,var(--brand) 35%,var(--line));border-radius:10px;background:var(--brand-dim);color:var(--ink-2);font-size:10px;
}
.settings-feedback>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:color-mix(in srgb,var(--brand) 18%,transparent);color:var(--brand-2)}
.settings-feedback svg{width:15px;height:15px}
.settings-feedback path{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.settings-feedback p{margin:0;max-width:none}
.settings-feedback strong{color:var(--ink)}
.settings-actions{
  flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 24px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--surface) 94%,transparent);
  backdrop-filter:blur(10px);
}
.settings-actions>span{color:var(--ink-3);font-size:8px}

/* O navegador cruza uma captura do tema antigo com o novo. A alternativa
   abaixo mantém a troca suave nos navegadores sem View Transitions. */
::view-transition-old(root),::view-transition-new(root){animation-duration:.54s;animation-timing-function:ease-in-out}
::view-transition-old(root){animation-name:themeFadeOut}
::view-transition-new(root){animation-name:themeFadeIn}
@keyframes themeFadeOut{from{opacity:1}to{opacity:.12}}
@keyframes themeFadeIn{from{opacity:.12}to{opacity:1}}
html.theme-transitioning body,html.theme-transitioning body *{
  transition:background-color .48s ease,color .48s ease,border-color .48s ease,box-shadow .48s ease!important;
}

/* ── cartões ────────────────────────────────────────────────────────── */
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow);overflow:hidden}
.card + .card{margin-top:16px}
.card-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:15px 18px;border-bottom:1px solid var(--line);background:var(--surface-2)}
.card-b{padding:18px}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(290px,1fr))}
.grid>.card{margin-top:0}
.admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));align-items:stretch}
.admin-stat{min-height:104px}
.admin-stat .card-b{height:100%;align-content:center}

/* ── botões ─────────────────────────────────────────────────────────── */
.btn{
  appearance:none;border:1px solid var(--line-2);background:var(--surface-3);
  color:var(--ink);font-family:inherit;font-size:13.5px;font-weight:600;
  padding:9px 15px;border-radius:8px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  transition:background .14s,border-color .14s,transform .06s;
  text-decoration:none;   /* <a class="btn"> não vem sublinhado */
}
a.btn{color:var(--ink)}
a.btn.primary,a.btn.discord{color:#fff}
.btn:hover:not(:disabled){background:var(--line);border-color:var(--ink-3)}
.btn:active:not(:disabled){transform:translateY(1px) scale(.98)}
.btn:disabled{opacity:.42;cursor:not-allowed}
.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3)}
.btn.primary:hover:not(:disabled){background:#CD1235;border-color:#CD1235;transform:translateY(-1px);box-shadow:0 6px 16px -6px rgba(184,13,46,.55)}
.btn.ghost{background:transparent}
.btn.danger{color:var(--brand-2);border-color:#4A2320}
.btn.danger:hover:not(:disabled){background:var(--brand-dim)}
.btn.sm{padding:6px 11px;font-size:12.5px}
.btn.block{width:100%}
.btn.discord{background:#5865F2;border-color:#5865F2;color:#fff;font-size:15px;padding:12px 20px}
.btn.discord:hover:not(:disabled){background:#4752C4;border-color:#4752C4;transform:translateY(-1px);box-shadow:0 8px 20px -8px rgba(88,101,242,.6)}
.row{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.row.end{justify-content:flex-end}

/* ── formulários ────────────────────────────────────────────────────── */
.field{display:grid;gap:5px;margin-bottom:13px}
.field label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.field .hint{font-size:12px;color:var(--ink-3);line-height:1.45}
input[type=text],input[type=email],input[type=number],input[type=tel],input[type=date],input[type=time],input[type=datetime-local],select,textarea{
  width:100%;background:var(--bg);border:1px solid var(--line-2);color:var(--ink);
  font-family:inherit;font-size:14.5px;padding:10px 12px;border-radius:8px;
}
input:focus,select:focus,textarea:focus{border-color:var(--brand);outline:none}
input:disabled{opacity:.55}
input::placeholder{color:var(--ink-3)}
.file-btn{position:relative;overflow:hidden;display:inline-block}
.file-btn input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}

/* ── chips e badges ─────────────────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:5px;background:var(--surface-3);color:var(--ink-2);white-space:nowrap}
.badge.ok{background:var(--ok-dim);color:var(--ok)}
.badge.warn{background:var(--warn-dim);color:var(--warn)}
.badge.live{background:var(--brand-dim);color:var(--brand-2)}
.crest{width:44px;height:44px;border-radius:9px;object-fit:cover;background:var(--surface-3);display:grid;place-items:center;font-weight:800;font-size:14px;color:var(--brand-2);flex-shrink:0;border:1px solid var(--line-2)}
.crest.lg{width:76px;height:76px;font-size:22px;border-radius:14px}

/* ── listas ─────────────────────────────────────────────────────────── */
.list{display:grid;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.list-row{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface)}
.list-row .grow{flex:1;min-width:0}
.list-row strong{display:block;font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.list-row span.sub{font-size:12px;color:var(--ink-3)}
.empty{padding:34px 20px;text-align:center;color:var(--ink-3);font-size:14px}

.club-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.club{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:14px;display:grid;gap:11px}
.club-top{display:flex;gap:11px;align-items:center}
.kv{display:flex;justify-content:space-between;font-size:12.5px;gap:10px;border-top:1px solid var(--line);padding-top:7px}
.kv span{color:var(--ink-3)} .kv b{font-weight:600}
.teams-directory-sub{margin:2px 0 0;color:var(--ink-3);font-size:11.5px}
.club-select{
  appearance:none;color:var(--ink);font:inherit;text-align:left;cursor:pointer;
  transition:transform .16s,border-color .16s,background .16s,box-shadow .16s;
}
.club-select:hover{
  border-color:color-mix(in srgb,var(--brand) 54%,var(--line));background:var(--surface-2);
  box-shadow:0 12px 30px -20px rgba(184,13,46,.55);transform:translateY(-2px);
}
.club-select:active{transform:translateY(0)}
.club-select .sub{color:var(--ink-3)}
.club-open{
  min-height:27px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding-top:7px;border-top:1px solid var(--line);color:var(--brand-2);font-size:9px;
  font-weight:850;letter-spacing:.07em;text-transform:uppercase;
}
.club-open b{font-family:var(--mono);font-size:18px;font-weight:500;line-height:1;transition:transform .16s}
.club-select:hover .club-open b{transform:translateX(3px)}

.team-profile{display:grid;gap:16px}
.team-profile-back{
  justify-self:start;padding:8px 12px;border:1px solid color-mix(in srgb,var(--brand) 58%,var(--line));
  border-radius:8px;background:var(--brand-dim);color:var(--brand-2);font:inherit;font-size:10px;
  font-weight:900;letter-spacing:.07em;text-transform:uppercase;cursor:pointer;
  box-shadow:0 8px 22px -16px rgba(184,13,46,.7);transition:background .16s,color .16s,border-color .16s,transform .16s;
}
.team-profile-back:hover{border-color:var(--brand);background:var(--brand);color:#fff;transform:translateX(-2px)}
.team-profile-hero .card-b{
  min-height:142px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;
  background:
    radial-gradient(circle at 82% 30%,color-mix(in srgb,var(--brand) 12%,transparent),transparent 31%),
    linear-gradient(120deg,var(--surface-2),var(--surface));
}
.team-profile-title{min-width:0}
.team-profile-title h1{margin:3px 0 5px;font-size:clamp(25px,4vw,38px)}
.team-profile-title p{margin:0;color:var(--ink-2);font-size:12px}
.team-profile-stat{min-width:126px;display:grid;justify-items:end;padding-left:18px;border-left:1px solid var(--line)}
.team-profile-stat strong{font-family:var(--mono);font-size:28px;line-height:1;color:var(--brand-2)}
.team-profile-stat span{margin-top:5px;color:var(--ink-3);font-size:9px;font-weight:750;text-transform:uppercase}
.team-profile-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:16px;align-items:start}
.team-profile-grid .card{margin-top:0}
.team-roster-list{display:grid;gap:7px}
.team-roster-row{
  min-height:54px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:10px;
  padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2);
}
.team-roster-row.captain{border-color:color-mix(in srgb,var(--brand) 40%,var(--line));background:var(--brand-dim)}
.team-player-mark{
  width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line-2);border-radius:8px;
  background:var(--surface);color:var(--brand-2);font-family:var(--mono);font-size:9px;font-weight:900;
}
.team-roster-row>div{min-width:0;display:grid;gap:1px}
.team-roster-row strong{overflow:hidden;font-size:12px;text-overflow:ellipsis;white-space:nowrap}
.team-roster-row small{overflow:hidden;color:var(--ink-3);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.team-player-role{color:var(--ink-3);font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.team-roster-empty{max-width:none;margin:11px 1px 0;color:var(--ink-3);font-size:11px;text-align:center}
.team-tournament-section+.team-tournament-section{margin-top:18px;padding-top:17px;border-top:1px solid var(--line)}
.team-tournament-section h3{margin-bottom:9px;color:var(--ink-2);font-size:10px;letter-spacing:.09em;text-transform:uppercase}
.team-tournament-list{display:grid;gap:7px}
.team-tournament-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);border-radius:9px;background:var(--surface-2)}
.team-tournament-row>div{min-width:0;display:grid;gap:1px}
.team-tournament-row strong{font-size:12px}
.team-tournament-row small{overflow:hidden;color:var(--ink-3);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.team-tournament-empty{max-width:none;margin:0;padding:15px;border:1px dashed var(--line-2);border-radius:9px;color:var(--ink-3);font-size:11px;text-align:center}

/* ── PIX ────────────────────────────────────────────────────────────── */
.pix{display:grid;gap:16px;justify-items:center;text-align:center;padding:8px 0}
.pix img{width:230px;height:230px;border-radius:12px;background:#fff;padding:9px}
.pix-code{
  font-family:var(--mono);font-size:11px;line-height:1.55;word-break:break-all;
  background:var(--bg);border:1px solid var(--line-2);border-radius:8px;
  padding:11px 13px;max-width:100%;color:var(--ink-2);text-align:left;
}
.amount{font-size:34px;font-weight:800;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.timer{font-family:var(--mono);font-size:13px;color:var(--warn)}

/* ── progresso de vagas ─────────────────────────────────────────────── */
.slots{display:grid;gap:7px}
.slots-bar{height:8px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.slots-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--brand),var(--brand-2));transition:width .6s cubic-bezier(.16,1,.3,1);position:relative}
.slots-bar.hot i{animation:pulseGlow 1.8s ease-in-out infinite}
.slots-txt{display:flex;justify-content:space-between;font-size:12.5px;color:var(--ink-2)}
.slots-txt b{font-variant-numeric:tabular-nums;color:var(--ink)}
.tag-hot{color:var(--brand-2);font-weight:700}
@keyframes pulseGlow{
  0%,100%{filter:brightness(1) drop-shadow(0 0 0 rgba(227,27,66,0))}
  50%{filter:brightness(1.18) drop-shadow(0 0 6px rgba(227,27,66,.55))}
}

/* ── passos ─────────────────────────────────────────────────────────── */
.steps{display:grid;gap:0;counter-reset:s}
.step{display:grid;grid-template-columns:30px 1fr;gap:13px;padding:13px 0;border-bottom:1px solid var(--line)}
.step:last-child{border-bottom:none}
.step .n{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:800;background:var(--surface-3);color:var(--ink-3);border:1px solid var(--line-2)}
.step.done .n{background:var(--ok-dim);color:var(--ok);border-color:var(--ok)}
.step.now .n{background:var(--brand);color:#fff;border-color:var(--brand)}
.step h4{font-size:14.5px;margin-bottom:2px}
.step p{font-size:13px;color:var(--ink-2);margin:0;max-width:none}
.step.todo h4{color:var(--ink-3)}

/* ── seleção de campeonato na inscrição ───────────────────────────── */
.registration-hub{display:grid;gap:16px}
.registration-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:4px 2px 1px}
.registration-head-copy{display:grid;gap:0}
.registration-head h1{margin:4px 0 8px}
.registration-head p{max-width:60ch;margin:0;color:var(--ink-2);font-size:13px}
.registration-settings-trigger{
  flex:0 0 auto;margin-top:5px;border-color:color-mix(in srgb,var(--brand) 52%,var(--line));background:var(--brand-dim);color:var(--brand-2);
  font-size:11px;font-weight:800;letter-spacing:.03em;
}
.registration-settings-trigger>span,.registration-settings-trigger svg{display:block;width:16px;height:16px}
.registration-settings-trigger path{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.registration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.registration-option{
  appearance:none;position:relative;min-height:156px;display:grid;grid-template-rows:auto 1fr auto;
  justify-items:start;gap:12px;padding:16px;border:1px solid var(--line);border-radius:14px;
  background:linear-gradient(145deg,var(--surface-2),var(--surface));color:var(--ink);font:inherit;
  text-align:left;cursor:pointer;overflow:hidden;transition:transform .16s,border-color .16s,box-shadow .16s;
}
.registration-option::before{
  content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--line-2);transition:background .16s;
}
.registration-option:hover{border-color:color-mix(in srgb,var(--brand) 48%,var(--line));transform:translateY(-2px)}
.registration-option.selected{
  border-color:color-mix(in srgb,var(--brand) 72%,var(--line));
  box-shadow:0 14px 34px -24px rgba(184,13,46,.7),inset 0 0 0 1px color-mix(in srgb,var(--brand) 15%,transparent);
}
.registration-option.selected::before{background:linear-gradient(180deg,var(--brand-2),var(--brand))}
.registration-option-mark{
  width:58px;height:43px;display:block;object-fit:contain;
  filter:saturate(1.08) drop-shadow(0 0 9px rgba(227,27,66,.24));
}
.registration-option-copy{min-width:0;display:grid;align-content:start;gap:1px}
.registration-option-copy small{color:var(--ink-3);font-size:8px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.registration-option-copy strong{font-size:17px;letter-spacing:-.02em}
.registration-option-copy>span{color:var(--ink-2);font-size:10px}
.registration-option>.badge{justify-self:start}
.registration-description{
  max-width:none;margin:0 0 16px;padding:10px 12px;border-left:3px solid var(--brand);
  border-radius:0 8px 8px 0;background:var(--brand-dim);color:var(--ink-2);font-size:12px;
}
.registration-detail-copy{
  max-width:74ch;margin:0 0 18px;color:var(--ink-2);font-size:14px;line-height:1.8;white-space:pre-line;
}
.registration-signup{min-width:150px}

/* ── jogadores livres: protótipo sem persistência ─────────────────── */
.free-agents-page{display:grid;gap:16px}
.module-page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:4px 2px 2px}
.module-page-head>div{display:grid;gap:4px}
.module-page-head h1{margin:4px 0 3px}
.module-page-head p{max-width:68ch;margin:0;color:var(--ink-2);font-size:13px}
.prototype-chip{padding:5px 9px;border:1px solid color-mix(in srgb,var(--brand) 52%,var(--line));border-radius:99px;background:var(--brand-dim);color:var(--brand-2);font-size:8px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.free-agents-head-actions{display:flex!important;align-items:center;gap:9px}
.free-agent-publish{min-width:156px;justify-content:center}
.free-agent-own-banner{display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:14px 16px;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:var(--r-lg);background:linear-gradient(105deg,var(--brand-dim),var(--surface) 50%,var(--surface-2));box-shadow:var(--shadow)}
.free-agent-own-banner>div:nth-child(2){min-width:0;display:grid;gap:1px}
.free-agent-own-banner small{color:var(--brand-2);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.free-agent-own-banner strong{font-size:15px}
.free-agent-own-banner p{margin:0;color:var(--ink-2);font-size:10px}
.free-agent-directory{overflow:hidden}
.free-agent-directory .card-h{align-items:center}
.free-agent-directory .card-h>span:first-child{display:grid;gap:2px}
.free-agent-directory-sub{margin:0;color:var(--ink-3);font-size:10px}
.free-agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:11px}
.free-agent-card{appearance:none;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:0 10px 28px -25px rgba(0,0,0,.8);transition:transform .16s,border-color .16s,background .16s,box-shadow .16s}
.free-agent-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--brand) 58%,var(--line));background:var(--surface-3);box-shadow:0 18px 32px -24px color-mix(in srgb,var(--brand) 42%,transparent)}
.free-agent-card-copy{min-width:0;display:grid;gap:1px}
.free-agent-card-copy>span{color:var(--ink-3);font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.free-agent-card-copy strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.free-agent-card-copy small{overflow:hidden;color:var(--ink-2);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.free-agent-card>p{grid-column:1/-1;min-height:34px;margin:2px 0 0;color:var(--ink-2);font-size:10px;line-height:1.55}
.free-agent-card-open{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:10px;border-top:1px solid var(--line);color:var(--brand-2);font-size:9px;font-weight:800}
.free-agent-card-open b{font-size:18px;line-height:.8;transition:transform .16s}
.free-agent-card:hover .free-agent-card-open b{transform:translateX(3px)}
.free-agent-avatar{width:48px;height:48px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--brand) 48%,var(--line));border-radius:12px;background:var(--brand-dim);color:var(--brand-2);font-size:11px;font-weight:900;object-fit:cover}
.free-agent-avatar.large{width:68px;height:68px;border-radius:16px;font-size:15px}
.free-agent-feedback{margin:2px 0 0;color:var(--ink-3);font-size:10px;line-height:1.45}
.free-agent-feedback:empty{display:none}
.free-agent-feedback.error{color:var(--brand-2)}
.free-agent-position{min-width:42px;display:inline-grid;place-items:center;padding:6px 7px;border:1px solid color-mix(in srgb,var(--brand) 50%,var(--line));border-radius:7px;background:var(--brand-dim);color:var(--brand-2);font-family:var(--mono);font-size:9px;font-weight:900}
.free-agent-empty{display:grid;justify-items:center;gap:5px;padding:56px 20px;text-align:center}
.free-agent-empty>span{width:48px;height:48px;display:grid;place-items:center;margin-bottom:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-2);color:var(--brand-2);font-family:var(--mono);font-size:11px;font-weight:900}
.free-agent-empty strong{font-size:14px}
.free-agent-empty p{margin:0;color:var(--ink-3);font-size:11px}
.free-agent-dialog{width:min(720px,calc(100vw - 30px));max-height:min(760px,calc(100vh - 30px));padding:0;overflow:hidden;border:1px solid var(--line-2);border-radius:16px;background:var(--surface);color:var(--ink);box-shadow:0 30px 90px rgba(0,0,0,.72)}
.free-agent-dialog::backdrop{background:rgba(4,3,3,.78);backdrop-filter:blur(5px)}
.free-agent-dialog[open]{display:flex;flex-direction:column;animation:riseIn .24s cubic-bezier(.16,1,.3,1) both}
.free-agent-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(120deg,var(--surface-2),var(--surface))}
.free-agent-dialog-head>span{display:grid;gap:3px}
.free-agent-dialog-head h2{font-size:21px}
.free-agent-dialog-head p{margin:0;color:var(--ink-3);font-size:10px;line-height:1.5}
.free-agent-dialog-body{min-height:0;display:grid;gap:18px;padding:20px 22px;overflow-y:auto}
.free-agent-dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 22px;border-top:1px solid var(--line);background:var(--surface-2)}
.free-agent-dialog-actions>span{color:var(--ink-3);font-size:9px}
.free-agent-dialog-actions.single{justify-content:flex-end}
.free-agent-form-section{display:grid;gap:13px;padding-top:18px;border-top:1px solid var(--line)}
.free-agent-dialog-body>.free-agent-form-section:first-child{padding-top:0;border-top:0}
.free-agent-form-section-title{display:flex;align-items:center;gap:9px}
.free-agent-form-section-title>span{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:var(--brand-dim);color:var(--brand-2);font-family:var(--mono);font-size:8px;font-weight:900}
.free-agent-form-section-title h3{font-size:14px}
.free-agent-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.free-agent-wide-field{grid-column:1/-1}
.free-agent-privacy-intro{margin:0;color:var(--ink-2);font-size:10px;line-height:1.6}
.free-agent-privacy-list{display:grid;gap:8px}
.free-agent-privacy-choice{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);cursor:pointer}
.free-agent-privacy-choice>span:first-child{display:grid;gap:2px}
.free-agent-privacy-choice strong{font-size:11px}
.free-agent-privacy-choice small{color:var(--ink-3);font-size:9px;line-height:1.45}
.free-agent-privacy-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.free-agent-privacy-choice .theme-switch{flex:0 0 38px}
.free-agent-privacy-choice .theme-switch:has(input:checked){border-color:#8e182e;background:#3a0812;box-shadow:inset 0 0 0 1px rgba(255,23,56,.08),0 0 12px rgba(201,0,30,.12)}
.free-agent-privacy-choice input:checked + .theme-switch-knob{transform:translateX(16px);background:#ff3654}
.free-agent-profile-hero{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:15px;padding:16px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(115deg,var(--brand-dim),var(--surface-2) 50%)}
.free-agent-profile-hero>div{min-width:0;display:grid;gap:1px}
.free-agent-profile-hero>div>span{color:var(--brand-2);font-size:7px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.free-agent-profile-hero h2{overflow:hidden;font-size:22px;text-overflow:ellipsis;white-space:nowrap}
.free-agent-profile-hero p{margin:0;color:var(--ink-2);font-size:10px}
.free-agent-profile-position{min-width:142px;display:grid;gap:2px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--brand) 45%,var(--line));border-radius:9px;background:var(--surface-2)}
.free-agent-profile-position small{color:var(--ink-3);font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.free-agent-profile-position strong{color:var(--brand-2);font-size:11px}
.free-agent-profile-note{max-width:none;margin:0;padding:13px 14px;border-left:3px solid var(--brand);border-radius:0 8px 8px 0;background:var(--surface-2);color:var(--ink-2);font-size:11px;line-height:1.65}
.free-agent-profile-contact{display:flex;align-items:center;gap:11px;padding:13px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2)}
.free-agent-profile-contact>span{width:35px;height:35px;display:grid;place-items:center;border-radius:9px;background:var(--brand-dim);color:var(--brand-2)}
.free-agent-profile-contact svg{width:20px;height:20px;fill:currentColor}
.free-agent-profile-contact>div{display:grid;gap:1px}
.free-agent-profile-contact small{color:var(--ink-3);font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.free-agent-profile-contact strong{font-size:12px}
.free-agent-profile-history{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.free-agent-history-section{display:grid;align-content:start;gap:11px;min-height:154px;padding:14px;border:1px solid var(--line);border-radius:11px;background:var(--surface-2)}
.free-agent-history-section>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:10px}
.free-agent-history-section h3{font-size:13px}
.free-agent-history-section>p{margin:0;color:var(--ink-3);font-size:10px;line-height:1.5}
.free-agent-history-list{display:grid;gap:7px}
.free-agent-history-list>div{display:grid;gap:1px;padding:9px 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}
.free-agent-history-list strong{font-size:10px}
.free-agent-history-list small{color:var(--ink-3);font-size:8px}
.free-agent-private{padding-left:10px;border-left:2px solid var(--brand)}

/* ── landing ────────────────────────────────────────────────────────── */
.hero{text-align:center;padding:56px 0 30px;display:grid;gap:18px;justify-items:center}
.hero img.logo{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 8px 24px rgba(184,13,46,.28))}
.hero .lead{font-size:17px;color:var(--ink-2);max-width:54ch}
.hero-sub{font-size:13px;color:var(--ink-3);margin:0}
.hero-sub a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.hero-sub a:hover{color:var(--brand-2)}
.hero-note{font-size:13.5px;color:var(--ink-2);max-width:46ch;margin:-6px 0 0}
.eyebrow-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}
.eyebrow{font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brand-2)}
.edition-tag{
  font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.04em;
  color:var(--ink-3);border:1px solid var(--line-2);border-radius:99px;padding:2px 9px;
}

/* ── módulos de campeonato · linguagem visual do v13 ──────────────── */
.championship-hub{
  --hub-bg:#050506;--hub-panel:#0d0d10;--hub-panel-2:#141417;
  --hub-rubro:#c9001e;--hub-rubro-2:#ff1738;--hub-rubro-dark:#63000e;
  --hub-text:#f5f5f7;--hub-muted:#99979d;--hub-line:#2c2c31;
  position:relative;isolation:isolate;overflow:hidden;
  min-height:720px;padding:16px;border:1px solid #2a0a10;border-radius:18px;
  background:
    radial-gradient(circle at 50% -8%,rgba(201,0,30,.20),transparent 34%),
    linear-gradient(180deg,#09090b 0%,#050506 58%,#030304 100%);
  color:var(--hub-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  box-shadow:0 24px 60px rgba(0,0,0,.34);
  animation:riseIn .5s cubic-bezier(.16,1,.3,1) both;
}
.championship-hub::before{
  content:"";position:absolute;z-index:-1;inset:-10%;pointer-events:none;opacity:.42;
  background:
    radial-gradient(circle at 14% 32%,#000 0 5%,transparent 18%),
    radial-gradient(circle at 76% 17%,#000 0 7%,transparent 22%),
    radial-gradient(circle at 88% 72%,#000 0 8%,transparent 24%),
    radial-gradient(circle at 35% 84%,#000 0 6%,transparent 20%);
  filter:blur(18px);
}

.hub-module-tabs{
  min-height:50px;display:flex;align-items:center;gap:7px;overflow-x:auto;
  margin:-16px -16px 18px;padding:8px 16px;border-bottom:1px solid #261319;
  background:rgba(7,7,9,.94);scrollbar-width:none;
}
.hub-module-tabs::-webkit-scrollbar{display:none}
.hub-module-tab{
  min-width:max-content;min-height:34px;padding:0 12px;border:1px solid #303036;
  border-radius:8px;background:#121216;color:#99939a;font-size:10px;font-weight:900;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
}
.hub-module-tab:hover{color:#fff;background:#18181c}
.hub-module-tab:disabled{
  border-color:#25252a;background:#0d0d10;color:#514c50;cursor:not-allowed;opacity:.62
}
.hub-module-tab.active{
  color:#fff;border-color:#8c1028;background:linear-gradient(180deg,#3d0712,#26050b);
  box-shadow:inset 0 -2px 0 var(--hub-rubro-2),0 0 14px rgba(201,0,30,.10);
}

.hub-view{display:grid;gap:16px}
.hub-page-head{
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding:5px 4px 2px;
}
.hub-page-head h1{margin:2px 0 0;font-size:clamp(28px,4vw,42px);letter-spacing:-.035em}
.hub-page-head p{margin:5px 0 0;color:#a79599;font-size:12px}
.hub-kicker{color:var(--hub-rubro-2);font-size:9px;font-weight:950;letter-spacing:.15em;text-transform:uppercase}
.hub-readonly,.hub-phase-badge{
  padding:4px 9px;border:1px solid #621020;border-radius:999px;background:#24070d;
  color:#ff697f;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;
}
.hub-back{
  margin-bottom:8px;padding:0;border:0;background:transparent;color:#b29fa4;
  font-size:10px;font-weight:850;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;
}
.hub-back:hover{color:#fff}

.v13-card{
  overflow:hidden;border:1px solid #29292f;border-radius:14px;
  background:
    linear-gradient(120deg,rgba(201,0,30,.025),transparent 35%),
    linear-gradient(180deg,#121216,#0c0c0f);
  box-shadow:0 18px 50px rgba(0,0,0,.35);
}
.v13-card+.v13-card{margin-top:0}
.v13-card-head{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:15px 17px;border-bottom:1px solid #26262b;
}
.v13-card-head h2{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase}
.v13-card-body{padding:16px}
.v13-badge{
  flex:0 0 auto;padding:3px 8px;border:1px solid #3a3033;border-radius:999px;
  background:#171316;color:#91888b;font-size:8px;font-weight:900;letter-spacing:.06em;
  text-transform:uppercase;
}

.championship-catalog{display:grid;grid-template-columns:1fr;gap:10px}
.championship-entry{
  position:relative;overflow:hidden;width:100%;display:grid;
  grid-template-columns:68px minmax(0,1.25fr) minmax(150px,.72fr) auto;
  align-items:center;gap:16px;padding:17px 18px;border:1px solid #29292f;border-radius:13px;
  background:
    linear-gradient(90deg,rgba(201,0,30,.075),transparent 38%),
    linear-gradient(180deg,#111114,#0c0c0f);
  color:#f5f5f7;text-align:left;cursor:pointer;transition:.18s ease;
}
.championship-entry::before{
  content:"";position:absolute;inset:0 auto 0 0;width:3px;
  background:linear-gradient(180deg,transparent,#ff1738 28%,#740f22 72%,transparent);
  opacity:.72;
}
.championship-entry:hover{
  border-color:#7f1527;background:
    linear-gradient(90deg,rgba(201,0,30,.13),transparent 46%),
    linear-gradient(180deg,#151418,#0d0d10);
  box-shadow:0 10px 30px rgba(0,0,0,.28),0 0 22px rgba(201,0,30,.08);
  transform:translateY(-2px);
}
.championship-entry img{
  width:64px;height:52px;object-fit:contain;filter:saturate(1.18) drop-shadow(0 0 14px rgba(255,23,56,.24));
}
.championship-entry-copy{min-width:0;display:grid;gap:2px}
.championship-entry-copy span{color:#8f8286;font-size:8px;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.championship-entry-copy strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}
.championship-entry-copy small{color:#777176;font-size:9px}
.championship-entry-meta{min-width:0;display:grid;justify-items:start;gap:7px}
.championship-entry-meta small{color:#70686c;font-size:8px;letter-spacing:.02em;white-space:nowrap}
.championship-entry-status{
  padding:3px 7px;border:1px solid #34343a;border-radius:999px;background:#17171b;
  color:#9a9397;font-size:7.5px;font-weight:950;text-transform:uppercase;
}
.championship-entry-status.live{border-color:#731227;background:#2d0710;color:#ff6178}
.championship-entry-status.finished{border-color:#294636;background:#0d2419;color:#67d597}
.championship-entry-open{
  display:flex;align-items:center;gap:10px;padding-left:16px;border-left:1px solid #2c282c;
  color:#b8afb2;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;
  white-space:nowrap;
}
.championship-entry-open b{color:#d12a43;font-family:var(--mono);font-size:22px;font-weight:400;line-height:1}
.championship-entry:hover .championship-entry-open{color:#fff}

.hub-empty{
  min-height:116px;display:grid;place-items:center;align-content:center;gap:5px;
  border:1px dashed #302c30;border-radius:10px;background:#0b0b0d;color:#746e72;text-align:center;
}
.hub-empty span{color:#5d151f;font-size:22px}
.hub-empty p{margin:0;padding:0 14px;font-size:11px}
.hub-notice{
  margin-bottom:14px;padding:13px 14px;border:1px solid #4a1620;border-radius:11px;
  background:linear-gradient(90deg,rgba(201,0,30,.12),rgba(201,0,30,.025));
  color:#bcaeb2;font-size:11px;
}
.hub-notice strong{color:#eee7e9}

.group-stage-module{display:grid;gap:14px}
.group-admin-toolbar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;
  border:1px solid #3b2026;border-radius:12px;
  background:linear-gradient(90deg,rgba(201,0,30,.08),#0d0d10 40%,#0b0b0e);
  box-shadow:0 12px 28px rgba(0,0,0,.2);
}
.group-admin-toolbar>span{display:flex;align-items:center;gap:8px;color:#aaa1a4;font-size:9px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.group-admin-toolbar>span::before{
  content:"ADMIN";padding:3px 6px;border:1px solid #74162a;border-radius:999px;background:#2b0710;
  color:#ff4d67;font-size:7px;font-weight:950;letter-spacing:.08em;
}
.group-admin-toolbar>div{display:flex;gap:8px;flex-wrap:wrap}
.group-admin-toolbar .btn:disabled{opacity:.4;cursor:not-allowed}
.hub-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px}
.group-module-stack{min-width:0;display:grid;align-content:start;gap:10px}
.group-title-v13{display:flex;align-items:center;gap:9px}
.group-letter-v13{
  width:31px;height:31px;display:grid;place-items:center;border:1px solid #731227;
  border-radius:8px;background:#2d0710;color:#fff;font-size:11px;font-weight:950;
  box-shadow:0 0 15px rgba(201,0,30,.10);
}
.group-card-v13{min-height:285px;overflow:hidden}
.group-card-v13 .v13-card-head{
  padding:18px 20px;background:linear-gradient(90deg,rgba(201,0,30,.055),transparent 55%)
}
.group-stage-body{padding:18px 20px 20px;background:linear-gradient(180deg,rgba(255,255,255,.008),transparent)}
.group-section-label{
  display:flex;align-items:center;gap:8px;margin:0 0 8px;color:#766f73;font-size:7.5px;
  font-weight:900;letter-spacing:.12em;text-transform:uppercase;
}
.group-section-label::after{content:"";height:1px;flex:1;background:linear-gradient(90deg,#2c2528,transparent)}
.group-section-label.matches{margin-top:14px}
.v13-standings{
  width:100%;border:1px solid #24242a;border-spacing:0;border-collapse:separate;border-radius:10px;
  background:#0a0a0d;font-size:11px;overflow:hidden;
}
.v13-standings th{
  padding:11px 8px;border-bottom:1px solid #29292e;background:#101014;color:#777075;font-size:8px;
  font-weight:850;letter-spacing:.07em;text-align:center;text-transform:uppercase;
}
.v13-standings th:nth-child(2){text-align:left}
.v13-standings td{
  padding:12px 8px;border-bottom:1px solid #1f1f24;color:#8f888c;
  font-family:var(--mono);font-size:10px;text-align:center;vertical-align:middle;
}
.v13-standings tr:last-child td{border-bottom:0}
.v13-standings tbody tr{transition:.15s ease}
.v13-standings tbody tr:hover{background:rgba(255,255,255,.016)}
.v13-standings td.team{text-align:left}
.rank{color:#70696d;font-weight:900}
.rank.qualified{color:#ff3654}
.mock-team{min-width:0;display:flex;align-items:center;gap:7px}
.mock-team-mark{
  flex:0 0 auto;width:24px;height:24px;display:grid;place-items:center;border:1px solid #59101e;
  border-radius:6px;background:#21070c;color:#d92742;font-family:var(--sans);font-size:8px;font-weight:950;
  font-style:italic;
}
.mock-team strong{
  min-width:0;overflow:hidden;color:#d1c9cc;font-family:var(--sans);font-size:11px;
  font-weight:850;text-overflow:ellipsis;white-space:nowrap;
}
.mock-team strong.direct-qualified-name{
  color:#ff3552;text-shadow:0 0 8px rgba(255,23,56,.72),0 0 18px rgba(201,0,30,.36)
}
.direct-qualification-mark{
  flex:0 0 auto;min-width:22px;height:16px;display:inline-grid;place-items:center;
  border:1px solid #a61731;border-radius:999px;background:#390811;color:#ff5b73;
  font-family:var(--sans);font-size:6.5px;font-weight:950;letter-spacing:.04em;
  box-shadow:0 0 10px rgba(201,0,30,.22)
}
.qualified-mark{
  flex:0 0 auto;min-width:15px;height:15px;display:inline-grid;place-items:center;border:1px solid #6f1528;
  border-radius:999px;background:#26070e;color:#ff4963;font-family:var(--sans);font-size:6.5px;font-weight:950;
}
.penalty-total{font-weight:900}
.penalty-total.penalized{color:#ff5269!important;text-shadow:0 0 8px rgba(201,0,30,.24)}
.points-total strong{color:#fff;font-size:10px}
.points-total.tied strong{color:#ffd66f;text-shadow:0 0 8px rgba(255,196,61,.24)}
.pts-tie{
  display:inline-flex;align-items:center;justify-content:center;margin-left:4px;padding:1px 4px;
  border:1px solid #8e6819;border-radius:999px;background:#2a200c;color:#ffd66f;
  font-family:var(--sans);font-size:6px;font-weight:950;letter-spacing:.035em;vertical-align:middle
}
.group-match-center{min-width:0}
.group-match-center.inline .v13-card-head{padding:14px 16px}
.group-match-center.inline .v13-card-head h2{font-size:12px}
.group-match-center.inline .v13-card-body{padding:12px}
.group-match-center.inline .group-fixtures.featured{grid-template-columns:1fr;gap:7px}
.group-match-kicker{
  display:block;margin-bottom:4px;color:#83182a;font-size:7px;font-weight:950;letter-spacing:.11em;text-transform:uppercase;
}
.group-match-tabs{display:flex;gap:7px;margin-bottom:13px;padding:5px;border:1px solid #28282e;border-radius:10px;background:#0b0b0e}
.group-match-tabs button{
  flex:1;min-height:34px;padding:0 10px;border:1px solid transparent;border-radius:7px;background:transparent;
  color:#746e72;font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
}
.group-match-tabs button:hover{color:#cfc7ca;background:#141317}
.group-match-tabs button.active{
  border-color:#731429;background:linear-gradient(180deg,#350812,#21060b);color:#fff;
  box-shadow:0 0 15px rgba(201,0,30,.09);
}
.group-fixtures{display:grid;gap:7px}
.group-fixtures.featured{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.fixture{
  display:grid;grid-template-columns:minmax(70px,1fr) 36px 14px 36px minmax(70px,1fr) 62px;
  align-items:center;gap:7px;padding:8px 9px;border:1px solid #24242a;border-radius:10px;
  background:linear-gradient(180deg,#101014,#0b0b0e);transition:.15s ease;
}
.fixture:hover{border-color:#383138;background:linear-gradient(180deg,#131217,#0c0c0f)}
.fixture-team{min-width:0;font-size:10px;font-weight:750}
.fixture-team strong{display:block;overflow:hidden;color:#d2cbce;text-overflow:ellipsis;white-space:nowrap}
.fixture-team.home{text-align:right}
.fixture-team.away{text-align:left}
.match-tag{display:block;margin-bottom:3px;color:#6f686c;font-size:6.5px;letter-spacing:.08em;text-transform:uppercase}
.score-input{
  width:36px;height:32px;padding:0;border:1px solid #3a3439;border-radius:8px;background:#17171b;
  color:#fff;font-family:var(--mono);font-size:11px;font-weight:950;text-align:center;outline:none;
  appearance:textfield;-moz-appearance:textfield;
}
.score-input::-webkit-outer-spin-button,.score-input::-webkit-inner-spin-button,
.ko-score-input::-webkit-outer-spin-button,.ko-score-input::-webkit-inner-spin-button{
  margin:0;-webkit-appearance:none;
}
.score-input:focus{border-color:#8c1028;box-shadow:0 0 0 2px rgba(201,0,30,.08)}
.score-display{
  width:36px;height:32px;display:grid;place-items:center;border:1px solid #28282e;border-radius:8px;
  background:#0c0c0f;color:#d8d0d3;font-family:var(--mono);font-size:10px;font-weight:900;
}
.fixture-versus{color:#706a6d;font-weight:900;text-align:center}
.fixture.done{border-color:#45111b;background:linear-gradient(90deg,rgba(201,0,30,.06),#0d0d10)}
.fixture.done .score-input{border-color:#5f1321}
.fixture.draw{border-color:#57441a}
.fixture-save{
  min-width:62px;height:30px;padding:0 7px;border:1px solid #77152a;border-radius:8px;background:#350812;
  color:#ff6680;font-size:7.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;
}
.fixture-save:hover{border-color:#bd1a37;background:#4b0917;color:#fff}
.fixture-save.saved{border-color:#393238;background:#171519;color:#aaa1a4}
.fixture-status{color:#716a6e;font-size:7px;font-weight:900;letter-spacing:.05em;text-align:center;text-transform:uppercase}
.fixture-status.draw{color:#d0ad55}

.group-penalties{margin-top:11px;border-top:1px solid #29252a}
.group-penalties summary{
  min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:0 3px;color:#a79ea2;font-size:8px;font-weight:900;letter-spacing:.09em;
  text-transform:uppercase;cursor:pointer;user-select:none
}
.group-penalties summary small{margin-left:auto;color:#655e62;font-size:6.5px;letter-spacing:.05em}
.group-penalties summary::after{
  content:"▾";display:inline-grid;place-items:center;width:16px;height:16px;border:1px solid #761326;
  border-radius:5px;background:#25070d;color:#ff3654;font-family:var(--mono);font-size:9px;font-weight:950;
  line-height:1;text-shadow:0 0 8px rgba(255,23,56,.44);
  transition:transform .16s,color .16s;
}
.group-penalties[open] summary::after{transform:rotate(180deg);color:#ff3654}
.group-penalties[open] summary{color:#fff}
.penalty-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding-top:3px}
.penalty-row{
  min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 46px 54px;align-items:center;gap:6px;
  padding:7px;border:1px solid #29272c;border-radius:8px;background:#0d0d10
}
.penalty-row>strong{overflow:hidden;color:#c7bec1;font-size:8.5px;text-overflow:ellipsis;white-space:nowrap}
.penalty-input{
  width:46px;height:30px;padding:0;border:1px solid #40373b;border-radius:7px;background:#17171b;
  color:#fff;font-family:var(--mono);font-size:10px;font-weight:900;text-align:center;outline:none;
  appearance:textfield;-moz-appearance:textfield
}
.penalty-input:focus{border-color:#8c1028;box-shadow:0 0 0 2px rgba(201,0,30,.08)}
.penalty-input::-webkit-outer-spin-button,.penalty-input::-webkit-inner-spin-button{margin:0;-webkit-appearance:none}
.penalty-apply{
  width:54px;height:28px;padding:0;border:1px solid #651327;border-radius:7px;background:#29070e;
  color:#df4960;font-size:6.5px;font-weight:900;text-transform:uppercase;cursor:pointer
}
.penalty-apply:hover{border-color:#a71b35;background:#3a0913;color:#fff}
.penalty-note{max-width:none;margin:8px 2px 1px;color:#746d71;font-size:8px;line-height:1.45}

.knockout-shell-v13{overflow:hidden}
.v13-bracket-scroll{width:100%;overflow:hidden}
.v13-bracket{
  position:relative;width:100%;min-width:0;min-height:620px;display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) minmax(0,1.12fr) minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(7px,1.2vw,18px);padding:12px 2px 24px;
}
.v13-ko-lines{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}
.v13-ko-lines path{
  fill:none;stroke:#86152a;stroke-width:1.7;stroke-linecap:square;stroke-linejoin:miter;
  vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 3px rgba(255,23,56,.18));
}
.v13-ko-stage{position:relative;z-index:2;min-width:0;min-height:560px;display:flex;flex-direction:column}
.v13-round-title{
  padding:9px 3px;border-bottom:1px solid #34101a;color:#c9c1c3;font-size:8px;
  font-weight:900;letter-spacing:.11em;text-align:center;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.v13-stage-matches{
  flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:38px;padding:36px 0;
}
.v13-ko-stage.semi .v13-stage-matches{padding:130px 0}
.v13-ko-match{
  position:relative;min-height:104px;border:1px solid #35353b;border-radius:11px;
  background:
    linear-gradient(90deg,rgba(201,0,30,.035),transparent 34%),
    linear-gradient(180deg,#161619,#0d0d10);
  box-shadow:0 12px 28px rgba(0,0,0,.24);
}
.v13-ko-match.admin{min-height:132px;padding-bottom:28px}
.v13-ko-match.admin .v13-ko-slot{grid-template-columns:18px minmax(0,1fr) 36px;gap:5px;padding:0 6px}
.v13-ko-match::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:linear-gradient(180deg,transparent,var(--hub-rubro-2),transparent);opacity:.6;
}
.v13-ko-label{
  position:absolute;left:8px;top:-7px;padding:1px 5px;border-radius:4px;
  background:#2d0710;color:#ff566e;font-size:7px;font-weight:950;letter-spacing:.05em;
}
.v13-ko-slot{
  min-height:51px;display:grid;grid-template-columns:22px minmax(0,1fr) 30px;align-items:center;
  gap:7px;padding:0 9px;border-bottom:1px solid #28282d;
}
.v13-ko-slot:last-child{border-bottom:0}
.v13-ko-slot .v13-seed{color:#71696d;font-family:var(--mono);font-size:8px}
.v13-ko-slot strong{overflow:hidden;color:#9e9699;font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.ko-score-readonly{
  width:30px;height:30px;display:grid;place-items:center;border:1px solid #353137;border-radius:7px;
  background:#111115;color:#f1e9ec;font-family:var(--mono);font-size:13px;font-weight:950;
  font-variant-numeric:tabular-nums;line-height:1
}
.v13-ko-match.ready{border-color:#4a3036}
.v13-ko-match.ready .v13-ko-slot strong{color:#e2dadd}
.v13-ko-match.ready .ko-score-readonly{border-color:#4b3037;color:#ff6077}
.v13-ko-match.finished{border-color:#6f1528}
.v13-ko-slot.winner{background:linear-gradient(90deg,rgba(201,0,30,.09),transparent)}
.v13-ko-slot.winner strong{color:#fff}
.v13-ko-slot.loser{opacity:.55}
.ko-score-input{
  width:36px;height:32px;padding:0;border:1px solid #5a4048;border-radius:7px;background:#18171b;
  color:#fff;font-family:var(--mono);font-size:13px;font-weight:950;text-align:center;line-height:1;outline:none;
  appearance:textfield;-moz-appearance:textfield;
}
.ko-score-input:focus{border-color:#9d1730;box-shadow:0 0 0 2px rgba(201,0,30,.08)}
.ko-save-result{
  position:absolute;left:0;right:0;bottom:0;width:100%;height:28px;padding:0;border:0;border-top:1px solid #33151c;
  border-radius:0 0 10px 10px;background:#21070d;color:#d8475e;font-size:7px;font-weight:900;
  letter-spacing:.06em;text-transform:uppercase;cursor:pointer;
}
.ko-save-result:hover{background:#380912;color:#fff}
.ko-save-result.saved{background:#151316;color:#93898d}
.ko-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.ko-close-tournament{
  min-height:30px;padding:0 10px;border:1px solid #8f1930;border-radius:8px;background:#350812;
  color:#ff647c;font-size:7px;font-weight:950;letter-spacing:.045em;text-transform:uppercase;cursor:pointer
}
.ko-close-tournament:hover{border-color:#c82542;background:#4c0a18;color:#fff}
.v13-ko-stage.center{position:relative}
.v13-champion{
  min-height:150px;display:flex;flex-direction:column;align-items:center;justify-content:center;
  margin-top:35px;padding:12px;border:1px solid #821329;border-radius:15px;
  background:
    radial-gradient(circle at 50% 4%,rgba(255,23,56,.22),transparent 54%),
    linear-gradient(180deg,#1d1115,#0d0d10);
  box-shadow:0 0 44px rgba(201,0,30,.14);text-align:center;
}
.v13-champion img{width:62px;height:50px;object-fit:contain;filter:drop-shadow(0 0 13px rgba(255,23,56,.28))}
.v13-champion small{margin-top:7px;color:#b49ea4;font-size:8px;letter-spacing:.14em;text-transform:uppercase}
.v13-champion strong{margin-top:5px;font-size:14px}
.v13-center-final{margin-top:78px}

@media(max-width:780px){
  .championship-hub{padding:12px}
  .hub-module-tabs{margin:-12px -12px 16px;padding:8px 12px}
  .hub-page-head{align-items:flex-start;flex-direction:column;gap:10px}
  .championship-catalog,.hub-groups-grid{grid-template-columns:1fr}
  .championship-entry{grid-template-columns:48px minmax(0,1fr) auto;gap:11px;padding:14px}
  .championship-entry img{width:46px;height:38px}
  .championship-entry-meta{display:none}
  .championship-entry-open{padding-left:10px}
  .championship-entry-open span{display:none}
  .group-fixtures.featured{grid-template-columns:1fr}
  .v13-bracket{gap:5px}
  .v13-round-title{font-size:6px;letter-spacing:.04em}
  .v13-ko-slot{grid-template-columns:12px minmax(0,1fr) 22px;gap:3px;padding:0 4px}
  .v13-ko-match.admin .v13-ko-slot{grid-template-columns:10px minmax(0,1fr) 25px;gap:2px;padding:0 3px}
  .ko-score-input{width:25px}
  .ko-score-readonly{width:22px;height:26px;font-size:9px}
  .v13-ko-slot strong{font-size:8px}
  .v13-ko-slot .v13-seed{font-size:7px}
}
@media(max-width:560px){
  .group-admin-toolbar{align-items:flex-start;flex-direction:column}
  .group-admin-toolbar>div{width:100%}
  .group-admin-toolbar .btn{flex:1}
  .v13-standings th:nth-child(7),.v13-standings th:nth-child(8),.v13-standings th:nth-child(9),
  .v13-standings td:nth-child(7),.v13-standings td:nth-child(8),.v13-standings td:nth-child(9){display:none}
  .v13-standings th:nth-child(2){width:108px}
  .v13-standings th:last-child{width:80px}
  .fixture{grid-template-columns:minmax(56px,1fr) 32px 10px 32px minmax(56px,1fr) 48px;gap:4px;padding:7px 6px}
  .score-input,.score-display{width:32px}
  .fixture-save{min-width:48px;padding:0 4px;font-size:6.5px}
  .fixture-status{font-size:6px}
  .penalty-list{grid-template-columns:1fr}
}

/* ── tema claro ────────────────────────────────────────────────────── */
html[data-theme="light"]{
  color-scheme:light;
  --bg:#f6f2f3;--surface:#fff;--surface-2:#f1eaec;--surface-3:#e8dee1;
  --line:#ded1d5;--line-2:#cbb9bf;
  --ink:#1d1719;--ink-2:#5e5256;--ink-3:#817278;
  --brand:#b90f2b;--brand-2:#cf1534;--brand-dim:#f8dde3;
  --ok:#25784a;--ok-dim:#e2f2e8;--warn:#825b0f;--warn-dim:#f7ecd0;
  --shadow:0 1px 2px rgba(64,31,39,.08),0 18px 42px -26px rgba(84,30,43,.26);
}
html[data-theme="light"] body{
  background-image:radial-gradient(900px 480px at 50% -8%,#efd6dc 0%,transparent 70%);
}
html[data-theme="light"] header.top{background:rgba(250,247,248,.9)}
html[data-theme="light"] .profile-popover{box-shadow:0 22px 60px -24px rgba(67,30,39,.34)}
html[data-theme="light"] .btn.danger{border-color:#deb9c1}
html[data-theme="light"] .btn.primary:hover:not(:disabled){background:#a80d27;border-color:#a80d27}

html[data-theme="light"] .championship-hub{
  --hub-bg:#f8f4f5;--hub-panel:#fff;--hub-panel-2:#f3ecee;
  --hub-rubro:#b90f2b;--hub-rubro-2:#d8193a;--hub-rubro-dark:#7d0a20;
  --hub-text:#1d1719;--hub-muted:#6f6267;--hub-line:#decfd3;
  border-color:#ddb7c0;
  background:
    radial-gradient(circle at 50% -8%,rgba(185,15,43,.12),transparent 36%),
    linear-gradient(180deg,#fdfafb 0%,#f6f0f2 58%,#f2ebed 100%);
  color:var(--hub-text);box-shadow:0 24px 60px rgba(84,30,43,.12);
}
html[data-theme="light"] .championship-hub::before{
  opacity:.2;background:
    radial-gradient(circle at 14% 32%,#826e74 0 5%,transparent 18%),
    radial-gradient(circle at 76% 17%,#806c72 0 7%,transparent 22%),
    radial-gradient(circle at 88% 72%,#8a767c 0 8%,transparent 24%),
    radial-gradient(circle at 35% 84%,#816e73 0 6%,transparent 20%);
}
html[data-theme="light"] .hub-module-tabs{border-color:#e4cfd4;background:rgba(252,248,249,.95)}
html[data-theme="light"] .hub-module-tab{border-color:#d9cdd0;background:#fff;color:#64585c}
html[data-theme="light"] .hub-module-tab:hover{border-color:#c9b6bc;background:#f3e9ec;color:#251d20}
html[data-theme="light"] .hub-module-tab:disabled{border-color:#e4dade;background:#f5f0f2;color:#a3959a}
html[data-theme="light"] .hub-module-tab.active{
  color:#fff;border-color:#a80d28;background:linear-gradient(180deg,#d92342,#a80d28);
  box-shadow:inset 0 -2px 0 #7f0a1f,0 6px 16px rgba(185,15,43,.14);
}
html[data-theme="light"] .hub-page-head p{color:#6d5d62}
html[data-theme="light"] .hub-readonly,
html[data-theme="light"] .hub-phase-badge{border-color:#e0aeba;background:#f9e3e8;color:#a80d28}
html[data-theme="light"] .hub-back{color:#69595e}
html[data-theme="light"] .hub-back:hover{color:#a80d28}

html[data-theme="light"] .v13-card{
  border-color:#ded2d5;background:
    linear-gradient(120deg,rgba(185,15,43,.035),transparent 35%),
    linear-gradient(180deg,#fff,#faf7f8);
  box-shadow:0 18px 50px rgba(67,30,39,.09);
}
html[data-theme="light"] .v13-card-head{border-color:#e2d7da}
html[data-theme="light"] .v13-badge{border-color:#d8c9cd;background:#f4edef;color:#65585d}
html[data-theme="light"] .championship-entry{
  border-color:#ded2d5;background:
    linear-gradient(90deg,rgba(185,15,43,.07),transparent 38%),
    linear-gradient(180deg,#fff,#faf7f8);
  color:#21191c;
}
html[data-theme="light"] .championship-entry:hover{
  border-color:#c66d80;background:
    linear-gradient(90deg,rgba(185,15,43,.11),transparent 46%),
    linear-gradient(180deg,#fff,#f8f1f3);
  box-shadow:0 10px 30px rgba(67,30,39,.1),0 0 22px rgba(185,15,43,.06);
}
html[data-theme="light"] .championship-entry-copy span{color:#725f65}
html[data-theme="light"] .championship-entry-copy small{color:#74686c}
html[data-theme="light"] .championship-entry-meta small{color:#766a6e}
html[data-theme="light"] .championship-entry-status{border-color:#d8cdd0;background:#f4edef;color:#5f5458}
html[data-theme="light"] .championship-entry-status.live{border-color:#d896a5;background:#f8dce3;color:#a20c27}
html[data-theme="light"] .championship-entry-status.finished{border-color:#9ac1aa;background:#e4f2e9;color:#246b44}
html[data-theme="light"] .championship-entry-open{border-color:#ddd0d4;color:#695c60}
html[data-theme="light"] .championship-entry:hover .championship-entry-open{color:#a80d28}
html[data-theme="light"] .hub-empty{border-color:#d9cdd0;background:#faf7f8;color:#74676b}
html[data-theme="light"] .hub-empty span{color:#b90f2b}
html[data-theme="light"] .hub-notice{border-color:#dfabb6;background:linear-gradient(90deg,#f8dfe5,#fdf7f8);color:#65575c}
html[data-theme="light"] .hub-notice strong{color:#251b1e}

html[data-theme="light"] .group-admin-toolbar{
  border-color:#dfb9c1;background:linear-gradient(90deg,#fae8ec,#fff 44%,#faf7f8);
  box-shadow:0 12px 28px rgba(67,30,39,.08);
}
html[data-theme="light"] .group-admin-toolbar>span{color:#63575b}
html[data-theme="light"] .group-admin-toolbar>span::before{border-color:#d78999;background:#f7d8df;color:#a80d28}
html[data-theme="light"] .group-letter-v13{border-color:#ca7586;background:#b90f2b;color:#fff;box-shadow:none}
html[data-theme="light"] .group-card-v13 .v13-card-head{background:linear-gradient(90deg,rgba(185,15,43,.065),transparent 55%)}
html[data-theme="light"] .group-stage-body{background:linear-gradient(180deg,rgba(185,15,43,.015),transparent)}
html[data-theme="light"] .group-section-label{color:#72656a}
html[data-theme="light"] .group-section-label::after{background:linear-gradient(90deg,#ddcfd3,transparent)}
html[data-theme="light"] .v13-standings{border-color:#ddd2d5;background:#fff}
html[data-theme="light"] .v13-standings th{border-color:#ddd1d5;background:#f1e9ec;color:#66595e}
html[data-theme="light"] .v13-standings td{border-color:#eee5e8;color:#5f5458}
html[data-theme="light"] .v13-standings tbody tr:hover{background:#faf3f5}
html[data-theme="light"] .rank{color:#6f6267}
html[data-theme="light"] .rank.qualified{color:#b90f2b}
html[data-theme="light"] .mock-team-mark{border-color:#dca6b1;background:#f8e1e6;color:#b90f2b}
html[data-theme="light"] .mock-team strong{color:#2b2225}
html[data-theme="light"] .mock-team strong.direct-qualified-name{color:#b60024;text-shadow:0 0 8px rgba(216,25,58,.22)}
html[data-theme="light"] .direct-qualification-mark{border-color:#d27e8f;background:#f8dce2;color:#a50d29;box-shadow:none}
html[data-theme="light"] .qualified-mark{border-color:#d79baa;background:#fae4e8;color:#ac0f2b}
html[data-theme="light"] .penalty-total.penalized{color:#b90f2b!important;text-shadow:none}
html[data-theme="light"] .points-total strong{color:#21191c}
html[data-theme="light"] .points-total.tied strong{color:#8a5c00;text-shadow:none}
html[data-theme="light"] .pts-tie{border-color:#cfa84f;background:#fbefcc;color:#765000}

html[data-theme="light"] .group-match-kicker{color:#a80d28}
html[data-theme="light"] .group-match-tabs{border-color:#ddd1d5;background:#f5eef0}
html[data-theme="light"] .group-match-tabs button{color:#6e6266}
html[data-theme="light"] .group-match-tabs button:hover{background:#fff;color:#2d2326}
html[data-theme="light"] .group-match-tabs button.active{border-color:#c87d8d;background:linear-gradient(180deg,#d92342,#ab0e29);color:#fff;box-shadow:none}
html[data-theme="light"] .fixture{border-color:#dfd4d7;background:linear-gradient(180deg,#fff,#faf7f8)}
html[data-theme="light"] .fixture:hover{border-color:#cebcc1;background:linear-gradient(180deg,#fff,#f7eff2)}
html[data-theme="light"] .fixture-team strong{color:#302529}
html[data-theme="light"] .match-tag,
html[data-theme="light"] .fixture-versus,
html[data-theme="light"] .fixture-status{color:#706469}
html[data-theme="light"] .score-input,
html[data-theme="light"] .penalty-input,
html[data-theme="light"] .ko-score-input{border-color:#cbb9bf;background:#fff;color:#241b1e}
html[data-theme="light"] .score-display{border-color:#d8cdd0;background:#f4edef;color:#2b2124}
html[data-theme="light"] .fixture.done{border-color:#dab1b9;background:linear-gradient(90deg,#fbe9ed,#faf7f8)}
html[data-theme="light"] .fixture.done .score-input{border-color:#cc8997}
html[data-theme="light"] .fixture.draw{border-color:#d9bc72}
html[data-theme="light"] .fixture-save{border-color:#ca7183;background:#f5dce2;color:#a20d28}
html[data-theme="light"] .fixture-save:hover{border-color:#b90f2b;background:#b90f2b;color:#fff}
html[data-theme="light"] .fixture-save.saved{border-color:#d5c9cc;background:#eee7e9;color:#60555a}
html[data-theme="light"] .fixture-status.draw{color:#785304}

html[data-theme="light"] .group-penalties{border-color:#dfd2d5}
html[data-theme="light"] .group-penalties summary{color:#5f5357}
html[data-theme="light"] .group-penalties summary small{color:#82747a}
html[data-theme="light"] .group-penalties summary::after{border-color:#d795a3;background:#f9e0e5;color:#b90f2b;text-shadow:none}
html[data-theme="light"] .group-penalties[open] summary{color:#21191c}
html[data-theme="light"] .penalty-row{border-color:#ded2d5;background:#faf7f8}
html[data-theme="light"] .penalty-row>strong{color:#312629}
html[data-theme="light"] .penalty-apply{border-color:#ce7d8d;background:#f7dce2;color:#a20d28}
html[data-theme="light"] .penalty-apply:hover{border-color:#b90f2b;background:#b90f2b;color:#fff}
html[data-theme="light"] .penalty-note{color:#6e6266}

html[data-theme="light"] .v13-ko-lines path{stroke:#bd2943;filter:none}
html[data-theme="light"] .v13-round-title{border-color:#dfb9c1;color:#45383c}
html[data-theme="light"] .v13-ko-match{
  border-color:#dacfd2;background:
    linear-gradient(90deg,rgba(185,15,43,.04),transparent 34%),
    linear-gradient(180deg,#fff,#f9f5f6);
  box-shadow:0 12px 28px rgba(67,30,39,.08);
}
html[data-theme="light"] .v13-ko-label{background:#f5d9df;color:#a80d28}
html[data-theme="light"] .v13-ko-slot{border-color:#e4dade}
html[data-theme="light"] .v13-ko-slot .v13-seed{color:#6e6266}
html[data-theme="light"] .v13-ko-slot strong{color:#62565a}
html[data-theme="light"] .ko-score-readonly{border-color:#d1c3c7;background:#fff;color:#21191c}
html[data-theme="light"] .v13-ko-match.ready{border-color:#cdaeb5}
html[data-theme="light"] .v13-ko-match.ready .v13-ko-slot strong{color:#281e21}
html[data-theme="light"] .v13-ko-match.ready .ko-score-readonly{border-color:#cb8e9a;color:#a80d28}
html[data-theme="light"] .v13-ko-match.finished{border-color:#c97485}
html[data-theme="light"] .v13-ko-slot.winner{background:linear-gradient(90deg,#f8dfe5,transparent)}
html[data-theme="light"] .v13-ko-slot.winner strong{color:#21191c}
html[data-theme="light"] .ko-save-result{border-color:#ddb7c0;background:#f7dfe4;color:#a80d28}
html[data-theme="light"] .ko-save-result:hover{background:#b90f2b;color:#fff}
html[data-theme="light"] .ko-save-result.saved{background:#eee7e9;color:#64585c}
html[data-theme="light"] .ko-close-tournament{border-color:#c97485;background:#f7dce2;color:#a20d28}
html[data-theme="light"] .ko-close-tournament:hover{background:#b90f2b;color:#fff}
html[data-theme="light"] .v13-champion{
  border-color:#c86d7f;background:
    radial-gradient(circle at 50% 4%,rgba(216,25,58,.15),transparent 54%),
    linear-gradient(180deg,#fff,#f6eef0);
  box-shadow:0 0 44px rgba(185,15,43,.08);
}
html[data-theme="light"] .v13-champion small{color:#6d5d62}

/* ── fatos rápidos (hero) ───────────────────────────────────────────── */
.fact-row{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;width:100%;max-width:520px;box-shadow:var(--shadow);
}
.fact{background:var(--surface);padding:13px 10px;display:grid;gap:3px;text-align:center}
.fact-label{font-size:10px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.fact-value{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums}
.fact-sub{font-size:10.5px;color:var(--ink-3);line-height:1.3}
@media(max-width:480px){
  .fact-row{grid-template-columns:1fr}
  .fact{
    text-align:left;display:grid;
    grid-template-columns:1fr auto;column-gap:10px;row-gap:2px;
    align-items:baseline;padding:10px 14px;
  }
  .fact-label{grid-column:1;grid-row:1}
  .fact-value{grid-column:2;grid-row:1;text-align:right}
  .fact-sub{grid-column:1/-1;grid-row:2}
}
.notice{background:var(--surface-2);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:8px;padding:12px 15px;font-size:13.5px;color:var(--ink-2)}
.notice b{color:var(--ink)}

/* ── tela de pagamento ────────────────────────────────────────────────────
   Ordem e pesos vêm da revisão de UX: beneficiário primeiro (é o que o app
   do banco repete), valor em Archivo grande, QR sobre branco sólido, copiar
   como ação primária, e o cronômetro por último, discreto. */
.pix-payee{
  border:1px solid var(--line-2);border-left:3px solid var(--ok);
  background:var(--surface-2);border-radius:10px;padding:13px 16px;
  display:grid;gap:2px;margin-bottom:20px;
}
.pix-payee-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.pix-payee strong{font-size:17px;font-weight:800;letter-spacing:-.01em}
.pix-payee-doc{font-family:var(--mono);font-size:13px;color:var(--ink-2)}
.pix-payee-hint{font-size:12.5px;color:var(--ink-3);margin-top:4px}
.pix-amount-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
/* QR sempre sobre branco sólido: leitor de banco erra sobre superfície escura */
.pix img{background:#fff;padding:10px;border-radius:12px}
.pix-code.one-line{
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;
  margin:18px 0 10px;text-align:left;
}
.pix-copy{min-height:48px;font-size:15px}
.pix-copy.copied{background:var(--ok);border-color:var(--ok)}
.pix-status{
  display:flex;align-items:center;gap:9px;margin-top:16px;
  font-size:13.5px;color:var(--ink-2);
}
.pix-dot{
  width:8px;height:8px;border-radius:50%;background:var(--warn);flex-shrink:0;
  animation:pixPulse 1.6s ease-in-out infinite;
}
@keyframes pixPulse{0%,100%{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1)}}
.pix-reassure{font-size:13.5px;color:var(--ink-2);margin:10px 0 0;max-width:52ch}
.pix-timer{margin-top:14px;font-size:13px;color:var(--ink-3);display:flex;gap:6px;align-items:baseline}
.pix-timer .timer{color:var(--warn)}
.pix-help{font-size:13px;color:var(--ink-3);margin:14px 0 0}
.pix-help a{color:var(--ink-2);text-decoration:underline;text-underline-offset:2px}
.pix-help a:hover{color:var(--brand-2)}
.admin-config-hint{font-size:12.5px;color:var(--ink-3)}

/* ── receita da edição (admin) ────────────────────────────────────────────
   Mesmo padrão que a revisão elogiou no admin: número grande em cima,
   rótulo pequeno, sem moldura disputando atenção. */
.receita{display:grid;gap:10px;margin-bottom:22px}
.receita-top{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}
.receita-valor{
  font-family:var(--mono);font-size:clamp(30px,5vw,42px);font-weight:700;line-height:1;
  color:var(--ink);font-variant-numeric:tabular-nums;margin-top:4px;
}
.receita-meta{display:grid;gap:2px;text-align:right}
.receita-meta span{font-size:12.5px;color:var(--ink-3)}
.receita-meta b{font-family:var(--mono);font-size:14px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.saude-valor{font-family:var(--mono);font-size:13.5px;color:var(--ink);white-space:nowrap}

/* ── alvos de toque ───────────────────────────────────────────────────────
   Em ponteiro grosso (dedo), todo controle tem no mínimo 44px de altura
   real. Vale para botões, links com cara de botão, campos e o gatilho do
   perfil — a revisão de UX apontou vários abaixo disso. */
@media (pointer: coarse){
  .btn,.essential,.profile-trigger,.notification-trigger,
  input[type=text],input[type=email],input[type=number],input[type=tel],
  input[type=date],input[type=time],select{
    min-height:44px;
  }
  .btn.sm{min-height:40px}          /* ações secundárias, ainda confortáveis */
}

/* ── início de time confirmado ────────────────────────────────────────────
   Depois de pago, o "caminho" vira passado e o elenco assume a tela: é a
   única métrica em que o capitão ainda pode agir. Herói sem moldura, do
   jeito que a revisão pediu — o número é o elemento, não a borda. */
.confirmed-head{
  display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  justify-items:start;margin-bottom:26px;
}
.confirmed-head h1{font-size:clamp(24px,3.4vw,32px);margin:2px 0}
.eyebrow.ok{color:var(--ok)}

.roster-hero{display:grid;gap:12px;margin-bottom:26px}
.roster-top{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.roster-count{display:flex;align-items:baseline;gap:8px}
.roster-count b{
  font-family:var(--mono);font-size:clamp(38px,7vw,56px);font-weight:700;
  line-height:1;color:var(--ink);font-variant-numeric:tabular-nums;
}
.roster-count span{font-size:14px;color:var(--ink-3)}
.roster-bar{height:10px;border-radius:99px;background:var(--surface-3);overflow:hidden}
.roster-bar i{
  display:block;height:100%;border-radius:99px;
  background:linear-gradient(90deg,var(--brand),var(--brand-2));
  transition:width .5s cubic-bezier(.16,1,.3,1);
}
.roster-status{font-size:14px;color:var(--ink-2);margin:0}
.roster-invite{display:grid;gap:10px;margin-top:4px}
.roster-hint{font-size:12.5px;color:var(--ink-3);margin:0}

/* ── toasts ───────────────────────────────────────────────────────────────
   O container e estes estilos sumiram na entrega de 25/08, e com eles toda
   mensagem do app: erro de inscrição, de pagamento, tudo virava silêncio. */
#toasts{
  position:fixed;right:16px;bottom:16px;z-index:90;
  display:grid;gap:8px;max-width:min(380px,calc(100vw - 32px));
}
.toast{
  background:var(--surface-3);border:1px solid var(--line-2);
  border-left:3px solid var(--ink-3);border-radius:9px;
  padding:11px 14px;font-size:13.5px;color:var(--ink);
  box-shadow:var(--shadow);animation:riseIn .22s ease;
}
.toast.ok{border-left-color:var(--ok)}
.toast.err{border-left-color:var(--brand)}
@media(max-width:520px){
  #toasts{right:12px;left:12px;bottom:12px;max-width:none}
}

/* ── fundo de arena ───────────────────────────────────────────────────────
   Decorativo, fixo atrás de tudo. Sem spotlight seguindo o mouse: é
   distração num funil de pagamento, e foi removido de propósito.
   O brilho de topo já vem do gradiente do body, nos dois temas: aqui
   entram só as camadas que ele não tem. */
.arena{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
/* Orbes animados cortados: custavam paint contínuo em celular e nao apareciam
   em print nenhum. Ficam o brilho de topo (do body) e o grao. */
.arena-orb{display:none}
/* Linhas de campo só na landing, onde ha altura para elas existirem. */
.arena-pitch{display:none}
body.landing .arena-pitch{
  display:block;position:absolute;inset-inline:0;bottom:0;height:52vh;opacity:.10;
  transform:perspective(700px) rotateX(62deg);transform-origin:bottom;
  -webkit-mask-image:linear-gradient(to top, #000, transparent);
          mask-image:linear-gradient(to top, #000, transparent);
  background-image:linear-gradient(to right, var(--brand) 1px, transparent 1px),
                   linear-gradient(to bottom, var(--brand) 1px, transparent 1px);
  background-size:64px 64px;
}
.arena-grain{
  position:absolute;inset:0;opacity:.035;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}
:root[data-theme="light"] .arena-pitch{opacity:.06}
:root[data-theme="light"] .arena-grain{display:none}

/* ── headline rotativa do hero ──────────────────────────────────────────── */
.hero-claim{
  font-size:clamp(19px,2.6vw,25px);font-weight:800;letter-spacing:-.02em;
  color:var(--ink);margin:0;
}
.rot-word{
  display:inline-block;color:var(--brand-2);
  transition:opacity .42s cubic-bezier(.16,1,.3,1), transform .42s cubic-bezier(.16,1,.3,1);
}
.rot-word.out{opacity:0;transform:translateY(12px)}

/* ── trilha dos quatro passos (pré-login) ──────────────────────────────── */
.path-count{font-family:var(--mono);font-size:11px;color:var(--ink-2)}
.path-track{display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));position:relative}
.path-step{display:flex;gap:14px;align-items:flex-start}
.path-step h3{font-size:14px;font-weight:800;margin-bottom:3px}
.path-step p{font-size:12.5px;color:var(--ink-2);margin:0;max-width:none;line-height:1.5}
.path-dot{
  width:38px;height:38px;flex-shrink:0;border-radius:50%;display:grid;place-items:center;
  font-family:var(--mono);font-size:13px;font-weight:700;
  background:var(--surface-3);color:var(--ink-3);border:1px solid var(--line-2);
  transition:border-color .3s,color .3s,transform .3s;
}
.path-step.first .path-dot{
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;border-color:transparent;
  box-shadow:0 0 22px -4px rgba(216,53,44,.55);
}
.path-step:hover .path-dot{border-color:var(--brand);color:var(--ink);transform:translateY(-2px)}
.path-step:hover h3{color:var(--brand-2)}
@media(min-width:760px){
  .path-track{text-align:center}
  .path-track::before{
    content:"";position:absolute;left:8%;right:8%;top:19px;height:1px;
    background:linear-gradient(90deg,var(--brand),var(--line) 40%,var(--line));
  }
  .path-step{flex-direction:column;align-items:center;position:relative;z-index:1}
}

/* ── premiação (landing) ───────────────────────────────────────────────────
   Sem moldura externa: um herói por tela, cartão só em item repetido de
   lista. O número é o elemento, não a borda. */
.prize{margin-top:34px;display:grid;gap:16px}
.prize-head{display:grid;gap:5px;justify-items:center;text-align:center}
.prize-head h2{font-size:clamp(22px,3.2vw,30px);font-weight:800;letter-spacing:-.02em}
.prize-grid{
  display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr));
  background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;
}
.prize-item{
  background:var(--surface);padding:18px 12px;display:grid;gap:5px;
  justify-items:center;text-align:center;
}
.prize-place{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-3)}
.prize-value{
  font-family:var(--mono);font-size:20px;font-weight:600;color:var(--ink);
  font-variant-numeric:tabular-nums;letter-spacing:-.01em;
}
.prize-item.campeao{background:var(--brand-dim)}
.prize-item.campeao .prize-place{color:var(--brand-2)}
.prize-item.campeao .prize-value{font-size:27px;font-weight:700;color:var(--brand-2)}
.prize-note{font-size:13px;color:var(--ink-3);text-align:center;margin:0;max-width:none}
@media(max-width:520px){
  .prize-grid{grid-template-columns:1fr}
  .prize-item{
    grid-template-columns:1fr auto;justify-items:stretch;text-align:left;
    align-items:baseline;padding:14px 16px;
  }
  .prize-value{text-align:right}
}

/* ── rodapé da landing ─────────────────────────────────────────────────── */
.site-footer{
  display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--line);margin-top:30px;padding:20px 2px;
}
.site-footer-brand{display:flex;align-items:center;gap:8px}
.site-footer-brand img{width:16px;height:16px;object-fit:contain}
.site-footer-brand b{font-size:11px;font-weight:800;letter-spacing:.18em}
.site-footer a{font-size:12px;color:var(--ink-2);text-decoration:none}
.site-footer a:hover{color:var(--ink)}

/* ── início autenticado: cabeçalho, atalhos e duas colunas ─────────────── */
.app-head{margin-bottom:26px;display:grid;gap:8px;justify-items:start}
.app-head h1{font-size:clamp(25px,3.4vw,33px)}
.app-head .lead{font-size:15px;color:var(--ink-2);margin:0}
.essentials{display:flex;flex-wrap:wrap;gap:9px;margin-top:6px}
.essential{
  display:inline-flex;align-items:center;gap:7px;padding:9px 15px;border-radius:10px;
  border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);
  font-size:13px;font-weight:600;text-decoration:none;
  transition:transform .3s,border-color .3s,color .3s;
}
.essential:hover{transform:translateY(-1px);border-color:var(--brand);color:var(--ink)}
.home-grid{display:grid;gap:16px;grid-template-columns:1.4fr 1fr;align-items:start}
.home-side{display:grid;gap:16px}
.home-side .card + .card{margin-top:0}
@media(max-width:820px){.home-grid{grid-template-columns:1fr}}
.side-card{display:grid;gap:0}
.field-label{font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-2)}
.side-team{display:flex;align-items:center;gap:12px;margin-top:12px}
.side-team strong{display:block;font-size:14px;font-weight:800}
.side-sub{font-size:12px;color:var(--ink-2)}
.side-action{margin-top:16px;width:100%;justify-content:space-between}
.skeleton{height:70px;border-radius:var(--r);background:linear-gradient(90deg,var(--surface) 25%,var(--surface-2) 50%,var(--surface) 75%);background-size:200% 100%;animation:sk 1.3s infinite}
@keyframes sk{to{background-position:-200% 0}}

/* ── entrada da página ──────────────────────────────────────────────────
   O hero revela linha a linha; os cards abaixo sobem em seguida. Tudo cai
   pra opacidade fixa se prefers-reduced-motion, pela regra global no fim
   do arquivo. */
@keyframes riseIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

/* A cascata acompanha a leitura, nao segura o conteudo: o primeiro item
   comeca no quadro zero e o ultimo do hero entra antes de 200ms. Atraso
   maior que isso o usuario le como lentidao, nao como elegancia. */
.hero > *{opacity:0;animation:riseIn .34s cubic-bezier(.16,1,.3,1) forwards}
.hero > *:nth-child(1){animation-delay:0s}
.hero > *:nth-child(2){animation-delay:.03s}
.hero > *:nth-child(3){animation-delay:.06s}
.hero > *:nth-child(4){animation-delay:.09s}
.hero > *:nth-child(5){animation-delay:.12s}
.hero > *:nth-child(6){animation-delay:.15s}
.hero > *:nth-child(7){animation-delay:.18s}
.hero > *:nth-child(8){animation-delay:.21s}

#view > .card,#view > * > .card{opacity:0;animation:riseIn .34s cubic-bezier(.16,1,.3,1) forwards}
#view > .card:nth-child(2),#view > * > .card:nth-child(2){animation-delay:.05s}
#view > .card:nth-child(3),#view > * > .card:nth-child(3){animation-delay:.10s}
#view .card .card{animation:none;opacity:1}   /* cartão aninhado não reanima */

/* micro-interação: escudo do time reage ao passar o mouse */
.crest{transition:transform .18s cubic-bezier(.34,1.56,.64,1)}
.list-row:hover .crest,.club:hover .crest{transform:scale(1.06) rotate(-1deg)}

@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(max-width:640px){
  .top-in{height:auto;padding:10px 20px;flex-wrap:wrap;gap:10px}
  .card-b{padding:14px}
  .pix img{width:min(230px,72vw);height:auto}
  .registration-head{align-items:stretch;flex-direction:column;gap:14px}
  .registration-settings-trigger{align-self:flex-start;margin-top:0}
  .registration-options{grid-template-columns:1fr}
  .registration-option{min-height:124px;grid-template-columns:58px minmax(0,1fr) auto;grid-template-rows:1fr;align-items:center}
  .registration-option>.badge{justify-self:end}
  .competition-settings{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}
  .competition-settings-head{padding:18px}
  .competition-settings-body{padding:17px}
  .settings-competition-grid{grid-template-columns:1fr}
  .settings-competition-choice{min-height:58px}
  .settings-date-grid{grid-template-columns:1fr}
  .settings-registration-date{grid-column:auto;max-width:none}
  .settings-actions{align-items:stretch;flex-direction:column}
  .settings-actions{padding:12px 17px}
  .settings-actions .row{width:100%}
  .settings-actions .btn{flex:1}
  .free-agents-head{align-items:stretch}
  .free-agents-head-actions{justify-content:space-between}
  .free-agent-own-banner{grid-template-columns:44px minmax(0,1fr)}
  .free-agent-own-banner>.row{grid-column:1/-1;width:100%}
  .free-agent-own-banner>.row .btn{flex:1}
  .free-agent-grid{grid-template-columns:1fr}
  .free-agent-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}
  .free-agent-dialog-head,.free-agent-dialog-body{padding:17px}
  .free-agent-dialog-actions{align-items:stretch;flex-direction:column;padding:12px 17px}
  .free-agent-dialog-actions .row{width:100%}
  .free-agent-dialog-actions .btn{flex:1}
  .free-agent-form-grid,.free-agent-profile-history{grid-template-columns:1fr}
  .free-agent-profile-hero{grid-template-columns:58px minmax(0,1fr)}
  .free-agent-avatar.large{width:58px;height:58px}
  .free-agent-profile-position{grid-column:1/-1;width:100%}
  .team-profile-hero .card-b{grid-template-columns:auto minmax(0,1fr);gap:13px}
  .team-profile-stat{grid-column:1/-1;width:100%;grid-template-columns:auto 1fr;align-items:baseline;justify-items:start;gap:8px;padding:12px 0 0;border-left:0;border-top:1px solid var(--line)}
  .team-profile-stat strong{font-size:22px}
  .team-profile-stat span{margin:0}
  .team-profile-grid{grid-template-columns:1fr}
}
@media(max-width:900px){.admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:420px){.admin-stats{grid-template-columns:1fr}}
