/* ============================================================
   Análises Copa 2026 — design "Rewaff" (tweakcn) recolorido Copa
   Tokens shadcn · tema claro + escuro · radius 0.75rem
   Fonte Space Grotesk · sombras suaves · base 16px
   ============================================================ */
:root{
  /* ===== TEMA CLARO ===== */
  --background:210 40% 98%; --foreground:222 47% 11%;
  --card:0 0% 100%; --card-foreground:222 47% 11%;
  --popover:0 0% 100%; --popover-foreground:222 47% 11%;
  --muted:214 32% 93%; --muted-foreground:215 16% 40%;
  --secondary:214 32% 93%; --secondary-foreground:222 47% 11%;
  --border:214 25% 87%; --input:214 25% 87%;
  --primary:231 54% 36%; --primary-foreground:0 0% 100%;     /* azul Copa #2A398D */
  --accent:43 96% 45%; --accent-foreground:222 47% 11%;       /* ouro */
  --ring:231 54% 45%;
  --cup-blue:231 64% 44%; --cup-green:119 49% 36%; --cup-red:357 79% 46%; --cup-gold:43 96% 43%;
  --destructive:357 79% 46%; --destructive-foreground:0 0% 100%; --success:119 49% 36%;
  --chart-1:231 64% 46%; --chart-2:43 96% 46%; --chart-3:119 49% 40%; --chart-4:357 79% 50%; --chart-5:205 90% 50%;
  --radius:0.75rem; --shadow-color:222 47% 11%;
  --shadow-sm:0 1px 3px 0 hsl(var(--shadow-color)/.08), 0 1px 2px -1px hsl(var(--shadow-color)/.08);
  --shadow-md:0 2px 8px -2px hsl(var(--shadow-color)/.10), 0 1px 3px 0 hsl(var(--shadow-color)/.06);
  --shadow-lg:0 10px 28px -8px hsl(var(--shadow-color)/.16), 0 3px 8px -3px hsl(var(--shadow-color)/.08);
  --hero1:#16205e; --hero2:#0c1233;
}
.dark{
  /* ===== TEMA ESCURO ===== */
  --background:222 56% 5%; --foreground:210 30% 94%;
  --card:222 47% 8%; --card-foreground:210 30% 94%;
  --popover:222 47% 8%; --popover-foreground:210 30% 94%;
  --muted:217 30% 14%; --muted-foreground:215 16% 60%;
  --secondary:217 30% 14%; --secondary-foreground:210 30% 94%;
  --border:217 26% 18%; --input:217 26% 18%;
  --primary:222 100% 68%; --primary-foreground:222 60% 6%;
  --accent:43 100% 58%; --accent-foreground:222 60% 8%;
  --ring:43 100% 58%;
  --cup-blue:222 100% 70%; --cup-green:119 55% 52%; --cup-red:357 90% 66%; --cup-gold:43 100% 58%;
  --destructive:357 88% 62%; --destructive-foreground:210 40% 98%; --success:119 55% 52%;
  --chart-1:222 100% 70%; --chart-2:43 100% 58%; --chart-3:119 55% 52%; --chart-4:357 90% 66%; --chart-5:200 95% 62%;
  --shadow-color:0 0% 0%;
  --shadow-sm:0 1px 3px 0 hsl(0 0% 0%/.30), 0 1px 2px -1px hsl(0 0% 0%/.30);
  --shadow-md:0 2px 8px -2px hsl(0 0% 0%/.42), 0 1px 3px 0 hsl(0 0% 0%/.30);
  --shadow-lg:0 12px 30px -8px hsl(0 0% 0%/.55), 0 3px 10px -3px hsl(0 0% 0%/.38);
  --hero1:#142057; --hero2:#0a1030;
}
*{box-sizing:border-box;margin:0;padding:0}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{
  font-family:'Space Grotesk', Arial, Helvetica, sans-serif;
  font-size:1rem; line-height:1.55;
  color:hsl(var(--foreground)); background:hsl(var(--background));
  padding-bottom:64px; -webkit-font-smoothing:antialiased; letter-spacing:.1px;
  transition:background .25s, color .25s;
}
.wrap{max-width:1440px;margin:0 auto;padding:0 24px}
a{color:hsl(var(--primary));text-decoration:none}

/* fundo abstrato — campos de cor da Copa (sutil, por tema) */
body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(820px 480px at 6% -8%, hsl(var(--cup-blue)/.14), transparent 60%),
    radial-gradient(700px 460px at 100% 0%, hsl(var(--cup-green)/.10), transparent 58%),
    radial-gradient(760px 560px at 0% 100%, hsl(var(--cup-red)/.08), transparent 60%),
    radial-gradient(820px 580px at 100% 100%, hsl(var(--cup-gold)/.08), transparent 60%);}

/* tipografia (base 16px) */
h1{font-size:2rem;line-height:1.15;font-weight:700;letter-spacing:-.3px}
h2{font-size:1.375rem;line-height:1.2;font-weight:700;letter-spacing:-.2px}
h3{font-size:1.125rem;line-height:1.3;font-weight:700}
.sub,.updated{color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.5}
.muted{color:hsl(var(--muted-foreground))} .right{text-align:right}

/* topo (hero) — header de marca fixo (navy nos dois temas) */
.hero{position:relative;background:linear-gradient(135deg,var(--hero1),var(--hero2));
  box-shadow:var(--shadow-md);padding:30px 0 26px;z-index:5}
/* sem overflow:hidden no hero: o dropdown do combo de campeonato (.combo-list, absoluto) era clipado;
   os ::before/::after são inset:0 e não vazam — nada a conter */
.hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(440px 200px at 88% -30%, hsl(var(--cup-gold)/.20), transparent 70%)}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,hsl(var(--cup-blue)) 0 25%,hsl(var(--cup-green)) 25% 50%,hsl(var(--cup-red)) 50% 75%,hsl(var(--cup-gold)) 75% 100%)}
.hero .wrap{position:relative}
.hero h1{color:#fff} .hero .updated{color:#c7cffb;margin-top:6px;font-size:.9rem}
.tag{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:#0c1233;background:hsl(var(--cup-gold));padding:5px 12px;margin-bottom:14px;border-radius:999px}
/* botão de tema */
.theme-btn{position:absolute;top:0;right:24px;display:inline-flex;align-items:center;gap:7px;
  font-family:inherit;font-size:.82rem;font-weight:600;color:#dfe5ff;cursor:pointer;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18);
  padding:8px 13px;border-radius:999px;backdrop-filter:blur(4px);transition:.15s}
.theme-btn:hover{background:rgba(255,255,255,.18)}
.theme-btn .ic{font-size:1rem;line-height:1}

/* abas */
.tabs{display:flex;gap:2px;flex-wrap:wrap;margin:0 auto;border-bottom:1px solid hsl(var(--border))}
.tab{font-family:inherit;font-size:.92rem;font-weight:600;background:transparent;color:hsl(var(--muted-foreground));
  border:0;border-bottom:2px solid transparent;padding:13px 16px;cursor:pointer;transition:.15s}
.tab:hover{color:hsl(var(--foreground));background:hsl(var(--muted)/.5)}
.tab.active{color:hsl(var(--primary));border-bottom-color:hsl(var(--accent))}

.panel{display:none;margin-top:26px}.panel.active{display:block;animation:fade .25s ease}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* grids (8dp) */
.grid{display:grid;gap:16px}
.g5{grid-template-columns:repeat(5,1fr)}.g2{grid-template-columns:1fr 1fr}
@media(max-width:980px){.g5{grid-template-columns:repeat(2,1fr)}.g2{grid-template-columns:1fr}}
@media(max-width:560px){.g5{grid-template-columns:1fr}}

/* KPIs */
.kpi{display:flex;flex-direction:column;gap:5px;align-items:flex-start;
  background:hsl(var(--card));border:1px solid hsl(var(--border));border-top:3px solid hsl(var(--chart-1));
  border-radius:var(--radius);padding:18px;box-shadow:var(--shadow-sm);transition:.18s}
.kpi:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.kpi:nth-child(2){border-top-color:hsl(var(--chart-3))}
.kpi:nth-child(3){border-top-color:hsl(var(--chart-2))}
.kpi:nth-child(4){border-top-color:hsl(var(--chart-4))}
.kpi:nth-child(5){border-top-color:hsl(var(--chart-1))}
.kpi .v{font-size:1.9rem;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.kpi .k{font-size:.72rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.6px;font-weight:600}

/* cards */
.card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:var(--radius);
  padding:22px;margin-top:18px;box-shadow:var(--shadow-sm)}

/* tabelas */
table{width:100%;border-collapse:collapse;font-size:.95rem}
th,td{padding:12px 14px;text-align:center;border-bottom:1px solid hsl(var(--border));font-variant-numeric:tabular-nums}
thead th{position:sticky;top:0;background:hsl(var(--muted));color:hsl(var(--foreground));
  font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
  border-bottom:1px solid hsl(var(--border));cursor:pointer;white-space:nowrap}
thead th:hover{color:hsl(var(--primary))}
td.nm,th.nm{text-align:left}
tbody tr{transition:.12s}
tbody tr:hover{background:hsl(var(--muted)/.55)}

/* pills */
.pill{display:inline-block;font-size:.74rem;font-weight:700;padding:3px 10px;border-radius:999px;letter-spacing:.2px}
.p-hi{background:hsl(var(--destructive));color:hsl(var(--destructive-foreground))}
.p-mid{background:hsl(var(--cup-gold));color:#3a2a00}
.p-lo{background:hsl(var(--success));color:#04230f}
.p-nd{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}

/* inputs / botões */
select,input{font-family:inherit;font-size:.9rem;color:hsl(var(--foreground));background:hsl(var(--card));
  border:1px solid hsl(var(--input));border-radius:calc(var(--radius) - 4px);padding:10px 13px;transition:.15s}
select:hover,input:hover{border-color:hsl(var(--ring)/.6)}
select:focus,input:focus{outline:2px solid hsl(var(--ring));outline-offset:1px;border-color:hsl(var(--ring))}
.filters{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:18px 0}

/* ref-stats / bar2 / read (próximos jogos) */
.ref-stats{display:flex;gap:12px;margin:14px 0}
.ref-stats .b{flex:1;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);padding:14px;text-align:center}
.ref-stats .b .vv{font-size:1.6rem;font-weight:700;font-variant-numeric:tabular-nums}
.ref-stats .b .kk{font-size:.7rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.4px;font-weight:600;margin-top:2px}
.bar2{display:flex;height:14px;overflow:hidden;background:hsl(var(--muted));border:1px solid hsl(var(--border));border-radius:999px;margin:8px 0}
.bar2 .h{background:hsl(var(--cup-blue))} .bar2 .a{background:hsl(var(--cup-gold))} .bar2 .gap{width:2px;background:hsl(var(--card))}
.lab{display:flex;justify-content:space-between;font-size:.92rem;align-items:baseline}
.lab span{color:hsl(var(--muted-foreground));font-size:.7rem;text-transform:uppercase;letter-spacing:.4px;flex:1;text-align:center}
.read{background:hsl(var(--muted)/.5);border-left:3px solid hsl(var(--accent));border-radius:calc(var(--radius) - 4px);padding:13px 16px;font-size:.9rem;color:hsl(var(--muted-foreground));margin-top:12px;line-height:1.6}
.read b{color:hsl(var(--foreground))}

/* comparar legado */
.cmp-col{background:hsl(var(--card));border:1px solid hsl(var(--border));border-top:3px solid hsl(var(--chart-3));border-radius:var(--radius);padding:18px}
.cmp-row{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid hsl(var(--border));font-size:.95rem}
.win{color:hsl(var(--success));font-weight:700}
.loading{color:hsl(var(--muted-foreground));padding:36px;text-align:center;font-size:.95rem}

/* rodapé */
.foot{margin-top:40px;color:hsl(var(--muted-foreground));font-size:.84rem;border-top:1px solid hsl(var(--border));padding-top:20px;line-height:1.6}
.selo-indep{display:flex;gap:12px;align-items:flex-start;background:hsl(var(--success)/.08);border:1px solid hsl(var(--success)/.35);border-radius:12px;padding:13px 16px;margin-bottom:16px;color:hsl(var(--foreground));font-size:.86rem;line-height:1.55}
.selo-indep .selo-ic{font-size:1.3rem;line-height:1;flex:0 0 auto}
.selo-indep b{color:hsl(var(--success))}

/* links de time/árbitro */
.lk{color:hsl(var(--foreground));border-bottom:1px solid hsl(var(--border));transition:.12s}
.lk:hover{color:hsl(var(--primary));border-bottom-color:hsl(var(--primary))}
.mmx{color:hsl(var(--muted-foreground));font-size:.74em;font-weight:500}

/* jogos do dia — cards (Print 03) */
.daygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:16px;margin-top:18px}
.daycard{position:relative;background:hsl(var(--card));border:1px solid hsl(var(--border));border-left:3px solid hsl(var(--accent));
  border-radius:var(--radius);padding:16px 18px;box-shadow:var(--shadow-sm);transition:.18s}
.daycard:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}
.dc-top{display:flex;justify-content:space-between;font-size:.72rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-weight:600}
.dc-time{color:hsl(var(--accent))}
.dc-teams{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:1.12rem;font-weight:700}
.dc-vs{color:hsl(var(--muted-foreground));font-weight:500;font-size:.85rem}
.dc-ref{font-size:.84rem;color:hsl(var(--muted-foreground));margin-top:12px}
.dc-proj{display:flex;justify-content:space-between;gap:10px;font-size:.82rem;color:hsl(var(--muted-foreground));margin-top:12px;border-top:1px solid hsl(var(--border));padding-top:12px}
.dc-proj b{color:hsl(var(--foreground));font-size:.95rem}
/* link partida -> comparativo */
.cmp-link{display:inline-flex;align-items:center;gap:6px;margin-top:12px;font-size:.78rem;font-weight:600;
  color:hsl(var(--primary));background:hsl(var(--primary)/.10);border:1px solid hsl(var(--primary)/.25);
  border-radius:999px;padding:6px 12px;transition:.15s}
.cmp-link:hover{background:hsl(var(--primary)/.18)}

/* comparar — head-to-head (Print 01) */
.h2h-head{display:flex;align-items:center;justify-content:space-between;background:hsl(var(--card));
  border:1px solid hsl(var(--border));border-top:3px solid hsl(var(--cup-blue));border-radius:var(--radius);padding:18px 22px;margin-top:18px;box-shadow:var(--shadow-md)}
.h2h-team{display:flex;flex-direction:column;font-size:1.35rem;font-weight:700}
.h2h-team.right{align-items:flex-end;text-align:right}
.h2h-sub{font-size:.72rem;color:hsl(var(--muted-foreground));font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}
.h2h-mid{color:hsl(var(--accent));font-weight:700;font-size:1.1rem;padding:0 12px}
.h2h-row{display:flex;flex-wrap:wrap;align-items:center;padding:12px 4px;border-bottom:1px solid hsl(var(--border))}
.h2h-row:last-child{border-bottom:0}
.h2h-v{font-weight:700;font-size:1.1rem;font-variant-numeric:tabular-nums;min-width:52px}
.h2h-v.left{color:hsl(var(--cup-blue));text-align:left}
.h2h-v.right{color:hsl(var(--cup-gold));text-align:right}
.h2h-lab{flex:1;text-align:center;color:hsl(var(--muted-foreground));font-size:.74rem;text-transform:uppercase;letter-spacing:.5px;font-weight:600}
.h2h-bar{display:flex;width:100%;height:9px;background:hsl(var(--muted));margin-top:9px;border-radius:999px;overflow:hidden}
.h2h-bar .hl{background:hsl(var(--cup-blue))}.h2h-bar .hr{background:hsl(var(--cup-gold))}

/* páginas de detalhe (Print 04/05) */
.back{display:inline-block;color:hsl(var(--muted-foreground));font-size:.86rem;font-weight:600;margin-bottom:14px;transition:.12s}
.back:hover{color:hsl(var(--primary))}
.dh{position:relative;background:hsl(var(--card));border:1px solid hsl(var(--border));
  border-left:4px solid hsl(var(--accent));border-radius:var(--radius);padding:26px 28px;box-shadow:var(--shadow-md);overflow:hidden}
.dh::after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;
  background:radial-gradient(circle,hsl(var(--accent)/.14),transparent 70%)}
.dh-kicker{font-size:.74rem;text-transform:uppercase;letter-spacing:1.1px;color:hsl(var(--accent));font-weight:700;position:relative}
.dh-name{font-size:2.5rem;color:hsl(var(--foreground));margin:6px 0;line-height:1.05;font-weight:700;letter-spacing:-.6px;position:relative}
.dh-meta{font-size:.88rem;color:hsl(var(--muted-foreground));position:relative}
.bigstats{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
@media(max-width:760px){.bigstats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:460px){.bigstats{grid-template-columns:1fr}}
.bigstat{background:hsl(var(--card));border:1px solid hsl(var(--border));border-top:3px solid hsl(var(--chart-1));border-radius:var(--radius);padding:20px;box-shadow:var(--shadow-sm);transition:.18s}
.bigstat:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}
.bigstat:nth-child(2){border-top-color:hsl(var(--chart-2))}.bigstat:nth-child(3){border-top-color:hsl(var(--chart-3))}
.bigstat:nth-child(4){border-top-color:hsl(var(--chart-4))}.bigstat:nth-child(5){border-top-color:hsl(var(--chart-1))}
.bigstat:nth-child(6){border-top-color:hsl(var(--chart-3))}
.bs-v{font-size:2.25rem;font-weight:700;line-height:1.05;font-variant-numeric:tabular-nums}
.bs-v .mmx{font-size:.46em}
.bs-k{font-size:.78rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.5px;margin-top:6px;font-weight:600}
.bs-x{font-size:.76rem;color:hsl(var(--muted-foreground));margin-top:3px}

/* análise do confronto (clique no card) */
.acts{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
table.tbl{width:100%;border-collapse:collapse;margin-top:8px;font-size:.86rem}
table.tbl th,table.tbl td{padding:6px 8px;text-align:left;border-bottom:1px solid hsl(var(--border))}
table.tbl th{font-size:.72rem;text-transform:uppercase;letter-spacing:.4px;color:hsl(var(--muted-foreground));font-weight:600}
table.tbl td .muted{font-size:.72rem}
.read-list{margin:8px 0 0;padding-left:18px}
.read-list li{margin:6px 0;line-height:1.45}

/* combos com filtro por texto */
.combo{position:relative;display:inline-block}
.combo .combo-input{min-width:170px}
.combo>select.combo-native{position:absolute;width:1px;height:1px;padding:0;margin:-1px;border:0;clip:rect(0 0 0 0);overflow:hidden}
.combo-list{position:absolute;z-index:60;top:calc(100% + 4px);left:0;min-width:100%;max-height:260px;overflow:auto;
  background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 2px);box-shadow:var(--shadow-md)}
.combo-item{padding:8px 12px;cursor:pointer;font-size:.9rem;white-space:nowrap;border-bottom:1px solid hsl(var(--border)/.5)}
.combo-item:last-child{border-bottom:0}
.combo-item:hover{background:hsl(var(--muted)/.6)}

/* botão de análise no card do jogo */
.dc-btn{display:inline-block;margin-top:12px;padding:8px 14px;border-radius:9px;font-size:.82rem;font-weight:600;
  color:#fff;background:hsl(var(--cup-blue));transition:.15s;cursor:pointer}
.dc-btn:hover{filter:brightness(1.1)}

/* ---- Previsão preditiva (protocolo) ---- */
.prev{background:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-left:3px solid hsl(var(--accent));
  border-radius:var(--radius);padding:16px 18px;margin-top:16px}
.prev-empty{border-left-color:hsl(var(--border))}
.prev-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.prev-head h3{margin:0;font-size:1.05rem}
.prev-model{font-size:.72rem;margin-left:auto;font-family:ui-monospace,Menlo,monospace}
.x12-wrap{margin:4px 0 14px}
.x12-bar{display:flex;height:26px;overflow:hidden;border-radius:8px;border:1px solid hsl(var(--border));background:hsl(var(--muted))}
.x12{display:flex;align-items:center;justify-content:center;font-size:.78rem;font-weight:800;color:#fff;min-width:0;transition:width .3s}
.x12-c{background:hsl(var(--cup-blue))} .x12-e{background:hsl(var(--muted-foreground))} .x12-f{background:hsl(var(--cup-gold));color:#3a2a00}
.x12-leg{display:flex;gap:16px;flex-wrap:wrap;margin-top:8px;font-size:.85rem}
.x12-leg .dot{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:middle}
.dot-c{background:hsl(var(--cup-blue))} .dot-e{background:hsl(var(--muted-foreground))} .dot-f{background:hsl(var(--cup-gold))}
.prev-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:6px 0 4px}
.pg{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:calc(var(--radius) - 3px);padding:10px 12px}
.pg-k{font-size:.7rem;color:hsl(var(--muted-foreground));text-transform:uppercase;letter-spacing:.5px;font-weight:700;margin-bottom:4px}
.pg-v{font-size:.92rem;line-height:1.5} .pg-v.big{font-size:1.3rem;font-weight:800}
.prev-sec{margin-top:12px} .prev-sec .read-list{margin-top:6px}
.prev-cc{margin-top:8px;line-height:1.6}
.prev-narr{margin-top:12px;background:hsl(var(--card));border-left:3px solid hsl(var(--cup-blue));border-radius:calc(var(--radius) - 4px);
  padding:12px 14px;font-size:.9rem;line-height:1.65}
.prev-det{margin-top:12px} .prev-det summary{cursor:pointer;font-weight:600;font-size:.9rem;color:hsl(var(--primary))}
.prev-det .tbl{margin-top:10px}
.peso-alto{background:hsl(var(--success));color:#04230f} .peso-medio{background:hsl(var(--cup-gold));color:#3a2a00}
.peso-baixo{background:hsl(var(--muted));color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border))}
.rastro{font-size:.82rem;margin-top:8px;padding:7px 10px;border-radius:calc(var(--radius) - 4px);line-height:1.5}
.rastro.ok{background:hsl(var(--success)/.12)} .rastro.gap{background:hsl(var(--destructive)/.10)} .rastro.src{background:hsl(var(--muted)/.5);color:hsl(var(--muted-foreground))}

/* ---- bandeiras + placar em destaque + próximo jogo + tabela legível ---- */
.flag{width:1.35em;height:1.0em;object-fit:cover;border-radius:2px;margin-right:7px;vertical-align:-1px;box-shadow:0 0 0 1px hsl(var(--border)/.7);flex:0 0 auto}
.dc-side{display:inline-flex;align-items:center}
.dc-sig{font-weight:800;letter-spacing:.4px;font-size:1.05rem}
.dc-score{font-size:1.3rem;font-weight:800;color:hsl(var(--foreground));background:hsl(var(--accent)/.16);
  border:1px solid hsl(var(--accent)/.45);border-radius:9px;padding:1px 11px;white-space:nowrap;flex:0 0 auto}
.dc-score i{color:hsl(var(--muted-foreground));font-style:normal;margin:0 3px;font-weight:600}
.dc-res{color:hsl(var(--accent))} .dc-next{color:hsl(var(--cup-green))} .dc-hoje{color:hsl(var(--cup-gold))}
.daycard-next{border-left-width:4px;border-color:hsl(var(--cup-green));box-shadow:0 0 0 1px hsl(var(--cup-green)/.45), var(--shadow-md)}
.daycard-hoje{border-left-width:4px;border-color:hsl(var(--cup-gold));background:hsl(var(--cup-gold)/.07);box-shadow:0 0 0 1px hsl(var(--cup-gold)/.5), var(--shadow-md)}
.dc-btn-next{background:hsl(var(--cup-green));color:#062012}
.dc-btn-hoje{background:hsl(var(--cup-gold));color:#2a1e00}
.an-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.an-head .flag{width:1.2em;height:.9em;margin-right:4px}
.an-score{font-size:1.5rem;font-weight:800;background:hsl(var(--accent)/.16);border:1px solid hsl(var(--accent)/.45);border-radius:10px;padding:1px 14px}
.proj-pill{display:inline-block;font-size:.78rem;font-weight:700;padding:3px 10px;border-radius:999px}
.proj-pill.up{background:hsl(var(--cup-gold)/.22);color:hsl(var(--accent))}
.proj-pill.dn{background:hsl(var(--cup-blue)/.18);color:hsl(var(--cup-blue))}
.proj-pill.mid{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.tbl-proj td.big b{font-size:1.18rem}
.det-ad>summary{cursor:pointer;font-weight:700;font-size:1.05rem;color:hsl(var(--foreground))}
.det-ad>summary:hover{color:hsl(var(--primary))}
/* painel Previsto × Aconteceu (destaque) */
.pa-card{border:1px solid hsl(var(--success)/.45);background:hsl(var(--success)/.07);border-radius:var(--radius);padding:16px 18px;margin-top:16px}
.pa-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:1.15rem;font-weight:800;margin-bottom:2px}
.pa-score{font-size:1.02rem;font-weight:800;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:8px;padding:2px 12px}
.pa-tbl th:last-child,.pa-tbl td:last-child{text-align:center;width:34px}
.pa-h4{margin:14px 0 6px;font-size:.95rem}
.pa-ok{color:hsl(var(--success));font-weight:800}.pa-miss{color:hsl(var(--destructive));font-weight:800}.pa-half{color:hsl(var(--accent));font-weight:800}
/* classificação do grupo inteiro — seleções do jogo destacadas */
.card-x{overflow-x:auto}
.tbl-cl td.cl-pos{font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));font-weight:700}
.tbl-cl tr.cl-hi{background:hsl(var(--accent)/.13)}
.tbl-cl tr.cl-hi td{border-bottom-color:hsl(var(--accent)/.35)}
.tbl-cl tr.cl-hi .nm a{font-weight:800}
.cl-mark{color:hsl(var(--accent));font-weight:900;font-size:.8rem}
/* últimos jogos das seleções (bola parada por jogo) */
.ult-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:8px}
@media(max-width:720px){.ult-wrap{grid-template-columns:1fr}}
.ult-col{min-width:0}
.ult-h{margin:0 0 4px;font-size:1rem;display:flex;align-items:center;gap:7px}
.tbl-ult{font-size:.82rem}
.tbl-ult th,.tbl-ult td{padding:5px 7px}
.tbl-ult th:not(:first-child),.tbl-ult td:not(:first-child){text-align:center;white-space:nowrap}
.tbl-ult td.ult-adv b{font-weight:800}
.ult-comp{display:block;font-size:.68rem;color:hsl(var(--muted-foreground));line-height:1.3;margin-top:1px}
.ult-mine{font-weight:700;color:hsl(var(--foreground));background:hsl(var(--accent)/.14);border-radius:3px;padding:0 3px}
.ctx-sub{display:block;font-size:.66rem;font-weight:400;color:hsl(var(--muted-foreground));line-height:1.25;margin-top:1px}
.tbl-ctx td:first-child{line-height:1.3}
.cx-up{font-weight:800;color:hsl(var(--success))}
.cx-dn{font-weight:800;color:hsl(var(--destructive))}
.tbl-ctx tr.ctx-est-row td{background:hsl(var(--accent)/.13);border-bottom:1px solid hsl(var(--accent)/.4)}
.tbl-ctx tr.ctx-est-row td:first-child{font-weight:700}
/* mapa do confronto — faltas esperadas por jogador */
.cf-zones{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin:8px 0 14px}
@media(max-width:720px){.cf-zones{grid-template-columns:1fr}}
.cf-zone{background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:10px;padding:9px 11px}
.cf-zt{font-weight:800;font-size:.82rem;margin-bottom:6px}
.cf-zl{font-size:.83rem;margin:3px 0;display:flex;align-items:center;gap:5px;flex-wrap:wrap;line-height:1.35}
.cf-zk{font-size:.7rem;font-weight:700;opacity:.7;min-width:62px}
.cf-zp{font-variant-numeric:tabular-nums;font-weight:800}
.cf-zp.s{color:hsl(var(--cup-blue))}.cf-zp.c{color:hsl(var(--cup-red))}
.cf-wrap{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:4px}
@media(max-width:720px){.cf-wrap{grid-template-columns:1fr}}
.cf-col{min-width:0}
.cf-row{display:grid;grid-template-columns:minmax(108px,1.4fr) 1.1fr 44px;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid hsl(var(--border)/.5);font-size:.83rem}
.cf-nm{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}
.cf-bar{display:block;height:8px;border-radius:999px;background:hsl(var(--muted));overflow:hidden}
.cf-fill{display:block;height:100%;border-radius:999px}
.cf-fill.c{background:hsl(var(--cup-red))}.cf-fill.s{background:hsl(var(--cup-blue))}
.cf-pct{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.cf-pct.on{color:hsl(var(--accent))}
.cf-p2{grid-column:1 / -1;font-size:.71rem;white-space:nowrap;margin-top:-3px}
.cf-met{color:hsl(var(--accent));font-weight:800;cursor:help}
.cf-emp{color:hsl(var(--accent));font-weight:700}
.cf-rz{font-variant-numeric:tabular-nums;font-weight:800;white-space:nowrap}
.cf-rz.hit{color:hsl(var(--success))}.cf-rz.miss{color:hsl(var(--destructive))}
.cf-real{grid-column:1 / -1;font-size:.74rem;font-weight:700;margin-top:1px}
.cf-real.hit{color:hsl(var(--success))}.cf-real.miss{color:hsl(var(--destructive))}
.cf-seq{grid-column:1 / -1;font-size:.72rem;margin-top:2px;display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.cf-sv{font-variant-numeric:tabular-nums;min-width:14px;text-align:center;font-weight:600;padding-bottom:1px}
.cf-sv.cf-last{border-bottom:2px solid hsl(var(--accent));font-weight:800}
.cf-sv.cf-dim{opacity:.45}
.cf-sv.cf-real-seq{font-weight:800;border-bottom:2px solid transparent}
.cf-sv.cf-real-seq.hit{color:hsl(var(--success));border-bottom-color:hsl(var(--success))}
.cf-sv.cf-real-seq.miss{color:hsl(var(--destructive));border-bottom-color:hsl(var(--destructive))}
.cf-tabs{display:flex;gap:6px;margin:10px 0 12px}
.cf-tab{font-family:inherit;font-size:.86rem;font-weight:700;background:hsl(var(--muted)/.4);color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:999px;padding:5px 15px;cursor:pointer;transition:.15s}
.cf-tab:hover{color:hsl(var(--foreground))}
.cf-tab.on{color:hsl(var(--foreground));background:hsl(var(--accent)/.18);border-color:hsl(var(--accent))}
/* classificação — navegação por fases (estilo GE) */
.kf-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin:16px 0 14px}
.kf-arrow{width:44px;height:44px;border-radius:50%;border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));font-size:1.5rem;line-height:1;cursor:pointer;transition:.15s;display:flex;align-items:center;justify-content:center;padding-bottom:3px}
.kf-arrow:hover:not(:disabled){border-color:hsl(var(--accent));background:hsl(var(--accent)/.12)}
.kf-arrow:disabled{opacity:.3;cursor:default}
.kf-mid{text-align:center;min-width:220px}
.kf-nome{font-size:1.15rem;font-weight:800}
.kf-pos{font-size:.72rem}
.kf-dots{display:flex;gap:6px;justify-content:center;margin-top:6px}
.kf-dot{width:9px;height:9px;border-radius:50%;border:0;background:hsl(var(--muted-foreground)/.35);cursor:pointer;padding:0;transition:.15s}
.kf-dot.on{background:hsl(var(--accent));transform:scale(1.3)}
.km-sides{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;max-width:980px;margin:8px auto 0;align-items:start}
.km-side{display:flex;flex-direction:column;gap:12px;min-width:0}
.km-sidelbl{text-align:center;font-size:.74rem;font-weight:800;letter-spacing:.6px;text-transform:uppercase;color:hsl(var(--muted-foreground));margin-bottom:2px}
.km-divider{width:2px;align-self:stretch;background:linear-gradient(180deg,transparent,hsl(var(--accent)/.55) 12%,hsl(var(--accent)/.55) 88%,transparent);border-radius:2px}
.km-center{max-width:480px;margin:14px auto 0}
@media(max-width:760px){.km-sides{grid-template-columns:1fr;max-width:480px}.km-divider{width:auto;height:2px;align-self:auto;background:linear-gradient(90deg,transparent,hsl(var(--accent)/.55) 12%,hsl(var(--accent)/.55) 88%,transparent)}}
.km-card{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:14px 16px}
.km-card.fin{border-left:3px solid hsl(var(--success))}
.km-teams{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.95rem}
.km-t{flex:1;display:flex;align-items:center;gap:6px;min-width:0}
.km-t.r{justify-content:flex-end;text-align:right}
.km-score{font-weight:800;font-size:1.05rem;white-space:nowrap;font-variant-numeric:tabular-nums}
.km-vs{color:hsl(var(--muted-foreground));font-weight:700}
.km-meta{font-size:.72rem;color:hsl(var(--muted-foreground));margin-top:8px}
/* tela do árbitro 2.0 */
.arb-chips{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:14px 0 12px}
.arb-chip{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--muted-foreground));border-radius:999px;padding:6px 14px;font-size:.82rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.arb-chip:hover{border-color:hsl(var(--accent))}
.arb-chip.on{background:hsl(var(--accent)/.16);border-color:hsl(var(--accent));color:hsl(var(--foreground));font-weight:800}
.arb-chipsep{width:1px;height:22px;background:hsl(var(--border));margin:0 4px}
.arb-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:10px 0}
.arb-kpi{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:14px 16px}
.arb-kv{font-size:1.7rem;font-weight:800;line-height:1.1}
.arb-kk{font-size:.74rem;color:hsl(var(--muted-foreground));margin-top:2px}
.arb-tr{display:inline-block;margin-top:6px;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px}
.arb-tr.up{background:hsl(var(--destructive)/.15);color:hsl(var(--destructive))}
.arb-tr.dn{background:hsl(var(--success)/.15);color:hsl(var(--success))}
.arb-tr.eq{background:hsl(var(--muted));color:hsl(var(--muted-foreground))}
.arb-gauges{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.arb-grow{display:grid;grid-template-columns:88px 1fr 88px 44px;gap:10px;align-items:center;font-size:.72rem;color:hsl(var(--muted-foreground))}
.arb-grow .arb-gl:nth-of-type(2){text-align:right}
.arb-gv{font-weight:800;font-size:.95rem;color:hsl(var(--foreground));text-align:right}
.arb-gauge{position:relative}
.arb-gtrack{position:relative;height:10px;border-radius:999px;background:linear-gradient(90deg,hsl(var(--success)/.5),hsl(var(--cup-gold)/.6),hsl(var(--destructive)/.6))}
.arb-gdot{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;border-radius:50%;background:hsl(var(--foreground));border:3px solid hsl(var(--background));box-shadow:0 0 0 1px hsl(var(--border))}
.arb-gmark{position:absolute;top:-4px;bottom:-4px;width:2px;background:hsl(var(--foreground)/.5);border-radius:1px}
.arb-copa{margin:10px 0;padding:10px 14px;border:1px dashed hsl(var(--accent)/.6);border-radius:10px;background:hsl(var(--accent)/.07);font-size:.86rem}
.arb-seq{display:flex;align-items:flex-end;gap:10px;padding:16px;flex-wrap:wrap}
.arb-sq{display:flex;flex-direction:column;align-items:center;gap:2px;width:30px}
.arb-sq.last .arb-sn{border-bottom:2px solid hsl(var(--accent));font-weight:800}
.arb-sbar{position:relative;width:16px;border-radius:4px 4px 0 0;background:hsl(45 90% 55%);align-self:center}
.arb-sbar.nd{background:hsl(var(--muted))}
.arb-sred{position:absolute;top:-5px;left:50%;transform:translateX(-50%);width:9px;height:9px;border-radius:2px;background:hsl(var(--destructive))}
.arb-sn{font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums}
.arb-sf{font-size:.66rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}
.arb-slegend{width:100%;font-size:.7rem;color:hsl(var(--muted-foreground));margin-top:6px}
.arb-sredleg{display:inline-block;width:8px;height:8px;border-radius:2px;background:hsl(var(--destructive));vertical-align:middle}
.arb-cbar{display:inline-block;height:8px;border-radius:999px;background:hsl(45 90% 55%);min-width:2px}
.arb-mm{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.arb-mmcol{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:12px 14px}
.arb-mmk{font-size:.74rem;color:hsl(var(--muted-foreground));font-weight:700}
.arb-mmv{font-size:1.05rem;font-weight:800;margin-top:4px}
.arb-mmchip{font-size:.7rem}
.arb-red{color:hsl(var(--destructive))}
.arb-compsel{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--foreground));border-radius:999px;padding:6px 12px;font-size:.82rem;font-weight:600;max-width:280px}
.arb-compsel:focus{border-color:hsl(var(--accent));outline:2px solid hsl(var(--ring));outline-offset:1px}
/* tela de seleção 2.0 — reusa os componentes arb-*; cor da barra = resultado do jogo
   (:not(.nd) preserva o cinza "sem lateral coletada" mesmo com placar conhecido) */
.arb-sbar:not(.nd).res-v{background:hsl(var(--success))}
.arb-sbar:not(.nd).res-e{background:hsl(var(--muted-foreground)/.55)}
.arb-sbar:not(.nd).res-d{background:hsl(var(--destructive))}
/* destaque "Copa 2026" nas tabelas de histórico (seleção 2.0 + árbitro 2.0) */
tr.lad-c td{background:hsl(var(--accent)/.09)}
/* combo global de campeonato (header) — o enhancer troca o select pelo .combo-input visível */
#compBar{margin-top:12px}
.comp-quick{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.comp-qbtn{font-family:inherit;font-size:.78rem;font-weight:700;color:#c7cffb;background:hsl(var(--card)/.35);
  border:1px solid hsl(var(--border)/.6);border-radius:999px;padding:4px 12px;cursor:pointer;transition:.15s}
.comp-qbtn:hover{color:#fff;border-color:hsl(var(--accent))}
.comp-qbtn.on{color:#fff;background:hsl(var(--accent)/.25);border-color:hsl(var(--accent))}
/* caminho até a final (mata-mata de clube): grade de confrontos + pernas ida/volta */
.ck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.ck-leg{font-size:.78rem;margin-top:4px;color:hsl(var(--muted-foreground))}
.ck-leg b{color:hsl(var(--foreground))}
#compBar .arb-compsel{max-width:360px;background:hsl(var(--card)/.85)}
#compBar .combo-input{min-width:280px;max-width:360px;border-radius:999px;background:hsl(var(--card)/.85);font-weight:600}
/* faixa esperada & odd justa */
.tbl-odd td:not(:first-child),.tbl-odd th:not(:first-child){text-align:center;white-space:nowrap}
.odd-val{font-weight:700;color:hsl(var(--accent))}
.odd-evit{color:hsl(var(--destructive));font-weight:700}
.odd-lean{display:inline-block;font-size:.7rem;font-weight:700;padding:1px 7px;border-radius:999px;background:hsl(var(--success)/.18);color:hsl(var(--success))}
.odd-lad td{font-variant-numeric:tabular-nums}
.odd-lad tr.lad-c td{background:hsl(var(--accent)/.1);font-weight:700}
.wld{display:inline-block;width:16px;height:16px;line-height:16px;text-align:center;border-radius:4px;font-size:.7rem;font-weight:800;color:#fff;margin-right:2px}
.wld.w{background:hsl(var(--success))}.wld.e{background:hsl(var(--muted-foreground))}.wld.l{background:hsl(var(--destructive))}
/* campanha na Copa (página de análise, mata-mata) */
.cmp-pos{display:inline-block;font-size:.72rem;font-weight:700;padding:1px 8px;border-radius:999px;background:hsl(var(--accent)/.16);color:hsl(var(--accent))}
.cmp-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:5px}
.cmp-list li{font-size:.88rem;display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.cmp-fase{font-size:.66rem;color:hsl(var(--muted-foreground));background:hsl(var(--muted-foreground)/.16);padding:0 6px;border-radius:4px;margin-left:2px}
/* confronto direto destacado dentro de "Últimos jogos" */
.ult-h2h{background:hsl(var(--cup-gold)/.18);color:hsl(var(--cup-gold));font-weight:700}
.tbl-ult tr.ult-r-h2h td{background:hsl(var(--cup-gold)/.07)}
/* slider de fases do mata-mata (chave) */
.brk{margin-top:6px}
.brk-nav{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.brk-btn{background:rgba(127,140,170,.08);border:1px solid rgba(127,140,170,.28);color:hsl(var(--foreground));border-radius:8px;padding:6px 12px;font-weight:700;cursor:pointer;font-size:.85rem;white-space:nowrap}
.brk-btn:hover:not(:disabled){border-color:hsl(var(--accent))}
.brk-btn:disabled{opacity:.4;cursor:default}
.brk-head{font-weight:800;font-size:1.05rem;text-align:center;line-height:1.2}
.brk-cols{display:grid;grid-template-columns:minmax(0,420px) minmax(0,420px);gap:10px;align-items:start;justify-content:center}
.brk-cols.brk-final{grid-template-columns:minmax(0,340px);justify-content:center}
.brk-col{display:flex;flex-direction:column;gap:8px;min-width:0;justify-content:space-around}
.brk-match{display:block;border:1px solid rgba(127,140,170,.22);border-radius:9px;padding:6px 9px;background:rgba(127,140,170,.05);text-decoration:none;color:inherit}
a.brk-match:hover{border-color:hsl(var(--accent))}
.brk-fin{opacity:.84}
.brk-hoje{border-color:hsl(var(--cup-gold));background:hsl(var(--cup-gold)/.1);box-shadow:0 0 0 1px hsl(var(--cup-gold)/.5)}
.brk-tag{font-size:.6rem;font-weight:800;letter-spacing:.6px;color:hsl(var(--cup-gold));margin-bottom:3px}
.brk-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:2px 0}
.brk-row+.brk-row{border-top:1px solid rgba(127,140,170,.18)}
.brk-team{display:inline-flex;align-items:center;gap:5px;min-width:0;overflow:hidden}
.brk-team b{font-weight:800;font-size:.95rem;white-space:nowrap}
.brk-prov{color:hsl(var(--muted-foreground));font-size:.78rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.brk-win b{color:hsl(var(--cup-green))}
.brk-sc{font-weight:800;font-size:.95rem;min-width:18px;text-align:center;flex:0 0 auto}
.brk-pen{font-style:normal;font-size:.68rem;color:hsl(var(--cup-gold));margin-left:1px}
.dc-pen,.an-pen{color:hsl(var(--cup-gold));font-weight:700;font-size:.72rem;margin-left:3px}
@media(max-width:560px){.brk-cols{gap:6px}.brk-team b{font-size:.82rem}.brk-prov{font-size:.7rem}.brk-btn{padding:5px 7px;font-size:.74rem}.brk-head{font-size:.92rem}}
/* alternador de visão (chave completa × por fase) */
.brk-toggle{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}
.brk-tb{background:rgba(127,140,170,.08);border:1px solid rgba(127,140,170,.28);color:hsl(var(--foreground));border-radius:999px;padding:5px 13px;font-weight:700;cursor:pointer;font-size:.8rem}
.brk-tb.on{background:hsl(var(--cup-gold)/.18);border-color:hsl(var(--cup-gold));color:hsl(var(--cup-gold))}
.brk-tnote{margin-left:auto}
/* CHAVE COMPLETA — caminho até a final (esquerda × direita → troféu) */
.brkf-scroll{overflow-x:auto;padding-bottom:10px}
.brkf{display:flex;gap:8px;align-items:stretch;min-width:min-content;width:max-content;margin:0 auto}
.brkf-col{display:flex;flex-direction:column;flex:0 0 120px;min-width:120px}
.brkf-lab{text-align:center;font-size:.64rem;font-weight:800;letter-spacing:.6px;color:hsl(var(--muted-foreground));text-transform:uppercase;margin-bottom:8px}
.brkf-matches{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:6px;min-height:520px}
.brkf-col .brk-match{padding:5px 7px}
.brkf-center{flex:0 0 172px;min-width:172px}
.brkf-center .brkf-matches{justify-content:center;gap:4px}
.brkf-trophy{font-size:2.6rem;text-align:center;filter:drop-shadow(0 0 12px hsl(var(--cup-gold)/.55))}
.brkf-center .brk-match{border-color:hsl(var(--cup-gold));background:hsl(var(--cup-gold)/.1);box-shadow:0 0 0 1px hsl(var(--cup-gold)/.35)}
.brkf-3rd{font-size:.58rem;color:hsl(var(--muted-foreground));text-align:center;margin-top:6px;line-height:1.3}

/* === ABA JOGADORES (página de análise) === */
.an-tabs{display:flex;gap:6px;margin:16px 0 0;border-bottom:1px solid hsl(var(--border))}
.an-tab{font-family:inherit;font-size:.92rem;font-weight:700;background:transparent;color:hsl(var(--muted-foreground));
  border:0;border-bottom:2px solid transparent;padding:9px 15px;cursor:pointer;border-radius:8px 8px 0 0;margin-bottom:-1px}
.an-tab:hover{color:hsl(var(--foreground));background:hsl(var(--muted)/.5)}
.an-tab.on{color:hsl(var(--foreground));border-bottom-color:hsl(var(--accent));background:hsl(var(--muted)/.35)}
.an-pane{padding-top:14px}
.an-pane[hidden]{display:none}
.jog-toggle{display:inline-flex;border:1px solid hsl(var(--border));border-radius:999px;overflow:hidden;margin-bottom:6px}
.jog-toggle button{font-family:inherit;font-size:.82rem;font-weight:700;background:transparent;color:hsl(var(--muted-foreground));border:0;padding:6px 15px;cursor:pointer}
.jog-toggle button.on{background:hsl(var(--cup-gold));color:#0c1233}
.jog-team{margin:18px 0 8px;font-size:1.04rem;display:flex;align-items:center;gap:7px}
.jog-tbl{width:100%;font-size:.85rem}
.jog-tbl th,.jog-tbl td{text-align:center;padding:7px 6px;white-space:nowrap}
.jog-tbl th:nth-child(2),.jog-tbl td.jog-nm{text-align:left;white-space:normal}
.jog-num{color:hsl(var(--muted-foreground));font-size:.78rem;width:22px}
.jog-meta{display:block;font-size:.71rem;color:hsl(var(--muted-foreground));line-height:1.25;margin-top:1px}
.jog-nota{font-weight:800;color:hsl(var(--cup-gold))}
.jog-n{font-size:.72rem}
.jog-r{cursor:pointer}
.jog-det>td{padding:0;background:hsl(var(--muted)/.3)}
.jog-det-tbl{width:100%;border-collapse:collapse}
.jog-det-tbl th,.jog-det-tbl td{text-align:center;padding:5px 6px;font-size:.76rem;border-top:1px solid hsl(var(--border)/.5);white-space:nowrap}
.jog-det-tbl th{position:static;background:transparent;color:hsl(var(--muted-foreground));font-weight:700}
.jog-det-tbl .jd-adv{text-align:left;color:hsl(var(--muted-foreground))}
/* tendências (líderes do confronto) — 4 cards, 2 linhas por jogador */
.jog-trend{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:8px}
.jog-trend-col{background:hsl(var(--muted)/.4);border:1px solid hsl(var(--border));border-radius:var(--radius);padding:9px 11px;min-width:0}
.jog-trend-col h4{margin:0 0 5px;font-size:.82rem}
.jog-trend-list{list-style:none;margin:0;padding:0}
.jog-trend-list li{padding:5px 0;border-top:1px solid hsl(var(--border)/.5)}
.jog-trend-list li:first-child{border-top:0;padding-top:1px}
.jt-top{display:flex;align-items:center;gap:5px}
.jt-nm{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}
.jt-v{font-weight:800;color:hsl(var(--cup-gold));flex:0 0 auto;font-variant-numeric:tabular-nums}
.jt-seq{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px;font-size:.7rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}
.jt-g{display:inline-block;line-height:1.5}
.jt-g i{font-style:normal;opacity:.6;font-size:.62rem}
.jt-last{border-bottom:2px solid hsl(var(--cup-gold));padding-bottom:1px;font-weight:700;color:hsl(var(--foreground))}
.jt-note{font-size:.6rem;font-weight:400;color:hsl(var(--muted-foreground))}
@media(max-width:860px){.jog-trend{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.jog-trend{grid-template-columns:1fr}}

/* === ajustes de tela pequena (mobile) — no fim p/ ter prioridade na ordem === */
@media(max-width:600px){
  .wrap{padding:0 14px}
  .hero{padding:22px 0 18px} .hero h1,h1{font-size:1.5rem}
  .theme-btn{right:14px;top:-2px;padding:6px 10px;font-size:.76rem}
  .tag{margin-bottom:10px;font-size:.66rem;letter-spacing:1px}
  .tabs{gap:0;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .tab{padding:11px 12px;font-size:.86rem;white-space:nowrap;flex:0 0 auto}
  .panel{margin-top:18px}
  .card{padding:16px 14px}
  table.tbl{font-size:.8rem} table.tbl th,table.tbl td{padding:5px 6px}
}

/* ============================================================
   Tendência da análise (bullet visual) + Acurácia + Como funciona
   — porte do protótipo aprovado (Fases 1-2, 07/2026)
   ============================================================ */
.fx-card{display:flex;flex-direction:column;gap:0;padding:4px 18px}
.fx-row{display:grid;grid-template-columns:170px 1fr;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid hsl(var(--border)/.6)}
.fx-row:last-child{border-bottom:none}
.fx-row.fx-lat .fx-name{color:hsl(var(--accent))}
.fx-name{font-weight:600;font-size:.95rem}
.fx-proj{font-size:1.55rem;font-weight:700;line-height:1.05;margin-top:2px;font-variant-numeric:tabular-nums}
.fx-proj small{font-size:.7rem;font-weight:400;color:hsl(var(--muted-foreground));margin-left:5px}
.fx-cons{display:inline-flex;align-items:center;gap:6px;font-size:.66rem;text-transform:uppercase;letter-spacing:.04em;margin-top:7px;padding:3px 8px;border-radius:6px;font-weight:600}
.fx-cons.alta{color:hsl(var(--success));background:hsl(var(--success)/.12)}
.fx-cons.media{color:hsl(var(--accent));background:hsl(var(--accent)/.12)}
.fx-cons.baixa{color:hsl(var(--muted-foreground));background:hsl(var(--muted))}
.fx-g{display:inline-flex;gap:2px}
.fx-g i{width:4px;height:9px;border-radius:1px;background:currentColor;opacity:.25}
.fx-cons.alta .fx-g i:nth-child(-n+3),.fx-cons.media .fx-g i:nth-child(-n+2),.fx-cons.baixa .fx-g i:nth-child(-n+1){opacity:1}
.fx-scale{position:relative;height:30px}
.fx-track{position:absolute;top:11px;left:0;right:0;height:8px;border-radius:5px;background:hsl(var(--muted))}
.fx-band{position:absolute;top:9px;height:12px;border-radius:5px;background:hsl(var(--accent)/.22);border:1px solid hsl(var(--accent)/.5)}
.fx-avg{position:absolute;top:4px;width:2px;height:22px;background:hsl(var(--muted-foreground));border-radius:2px}
.fx-dot{position:absolute;top:9px;width:12px;height:12px;border-radius:50%;background:hsl(var(--accent));border:2.5px solid hsl(var(--card));transform:translateX(-50%);box-shadow:0 0 0 1px hsl(var(--accent)/.5)}
.fx-cap{display:flex;flex-wrap:wrap;gap:5px 15px;margin-top:8px;font-size:.72rem;color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums}
.fx-cap b{color:hsl(var(--foreground))}
.fx-cap>span{display:inline-flex;align-items:center;gap:6px}
.fx-kd{width:9px;height:9px;border-radius:50%;display:inline-block;flex:0 0 auto}
.fx-kd-p{background:hsl(var(--accent))}
.fx-kd-b{background:hsl(var(--accent)/.22);border:1px solid hsl(var(--accent)/.5);border-radius:2px}
.fx-kd-a{width:2px;height:11px;border-radius:1px;background:hsl(var(--muted-foreground))}
/* acurácia (visão geral) */
.ac-row{display:grid;grid-template-columns:110px 1fr auto auto;gap:12px;align-items:center;padding:7px 0;font-size:.85rem}
.ac-nm{font-weight:600}
.ac-bar{height:7px;border-radius:5px;background:hsl(var(--muted));overflow:hidden}
.ac-bar i{display:block;height:100%;border-radius:5px;background:hsl(var(--success))}
.ac-val{font-variant-numeric:tabular-nums;white-space:nowrap}
.ac-mae{font-size:.74rem;white-space:nowrap}
/* como funciona (acordeão) */
.cf-como details{border-bottom:1px solid hsl(var(--border)/.6)}
.cf-como details:last-child{border-bottom:none}
.cf-como summary{cursor:pointer;padding:11px 2px;font-weight:600;font-size:.9rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px}
.cf-como summary::-webkit-details-marker{display:none}
.cf-como summary::after{content:"+";color:hsl(var(--accent));font-size:1.15rem;font-weight:400}
.cf-como details[open] summary::after{content:"–"}
.cf-como p{margin:0 2px 13px;color:hsl(var(--muted-foreground));font-size:.84rem;line-height:1.55}
.cf-como p b{color:hsl(var(--foreground))}
.cf-formula{font-family:ui-monospace,Consolas,monospace;font-size:.78rem;background:hsl(var(--muted)/.6);border:1px solid hsl(var(--border));border-radius:8px;padding:10px 12px;margin:2px 2px 12px;color:hsl(var(--muted-foreground));overflow-x:auto}
.cf-formula b{color:hsl(var(--accent))}
@media (max-width:720px){
  .fx-row{grid-template-columns:1fr;gap:8px}
  .ac-row{grid-template-columns:90px 1fr;gap:8px}
  .ac-mae{grid-column:2}
}

/* ============================================================
   Cabeçalho do jogo (escudos-monograma + selo) + Busca em linguagem natural
   — porte do protótipo aprovado (07/2026)
   ============================================================ */
.mh-card{padding:18px 20px}
.mh-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:10px 0 14px;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.mh-comp{color:hsl(var(--accent))}
.mh-badge{color:hsl(var(--muted-foreground));border:1px solid hsl(var(--border));border-radius:999px;padding:4px 10px;white-space:nowrap;font-size:.66rem}
.mh-badge::first-letter{color:hsl(var(--success))}
.mh-teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}
.mh-team{display:flex;align-items:center;gap:12px;min-width:0}
.mh-team.away{flex-direction:row-reverse;text-align:right}
.crest{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;font-family:ui-monospace,Consolas,monospace;font-weight:700;font-size:.92rem;color:#fff;flex:0 0 auto;box-shadow:inset 0 1px 0 rgba(255,255,255,.15),0 2px 6px -2px rgba(0,0,0,.4);letter-spacing:.02em}
.crest.crest-flag{background:hsl(var(--muted))!important;overflow:hidden;padding:0}
.crest.crest-flag .flag{width:100%;height:100%;object-fit:cover;border-radius:12px}
.mh-name{font-family:var(--font-display,Georgia,serif);font-size:1.24rem;font-weight:700;line-height:1.1}
.mh-name a{color:hsl(var(--foreground));text-decoration:none}
.mh-name a:hover{color:hsl(var(--accent))}
.mh-tmeta{font-family:ui-monospace,Consolas,monospace;font-size:.7rem;color:hsl(var(--muted-foreground))}
.mh-mid{text-align:center}
.mh-score{font-family:var(--font-display,Georgia,serif);font-size:1.8rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.mh-score i{color:hsl(var(--muted-foreground));font-style:normal;margin:0 4px}
.mh-pen{display:block;font-family:ui-monospace,Consolas,monospace;font-size:.66rem;color:hsl(var(--muted-foreground));margin-top:2px}
.mh-vs{font-family:ui-monospace,Consolas,monospace;font-size:.8rem;color:hsl(var(--muted-foreground))}
.mh-info{margin-top:12px;font-size:.82rem;color:hsl(var(--muted-foreground))}
/* busca NL */
.nlq{margin:14px 0 4px}
.nlq-box{display:flex;align-items:center;gap:8px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:12px;padding:8px 10px;box-shadow:var(--shadow-sm)}
.nlq-box:focus-within{border-color:hsl(var(--accent));box-shadow:0 0 0 2px hsl(var(--ring)/.5)}   /* anel de foco visível p/ teclado (o #nlqIn é borderless) */
.nlq-ic{opacity:.6}
#nlqIn{flex:1;border:0;background:transparent;color:hsl(var(--foreground));font-size:.95rem;outline:none;min-width:0}
#nlqGo{flex:0 0 auto;border:0;background:hsl(var(--accent));color:hsl(var(--accent-foreground));font-weight:600;font-size:.84rem;border-radius:8px;padding:7px 13px;cursor:pointer}
#nlqGo:hover{filter:brightness(1.06)}
.nlq-ex{font-size:.76rem;color:hsl(var(--muted-foreground));margin:8px 2px 0}
.nlq-ex a{color:hsl(var(--accent));cursor:pointer;text-decoration:none}
.nlq-ex a:hover{text-decoration:underline}
.nlq-ans{margin-top:12px;background:hsl(var(--card));border:1px solid hsl(var(--border));border-left:3px solid hsl(var(--accent));border-radius:10px;padding:13px 15px}
.nlq-ans.nlq-miss{border-left-color:hsl(var(--muted-foreground));color:hsl(var(--muted-foreground));font-size:.9rem}
.nlq-resp{font-size:1.02rem;font-weight:600;line-height:1.4}
.nlq-seq{display:flex;flex-wrap:wrap;gap:8px;margin-top:11px}
.nlq-g{display:flex;flex-direction:column;background:hsl(var(--muted)/.5);border-radius:8px;padding:6px 10px;min-width:58px}
.nlq-g b{font-family:ui-monospace,Consolas,monospace;font-size:1.05rem}
.nlq-g small{font-size:.64rem;color:hsl(var(--muted-foreground));white-space:nowrap}
.nlq-rk{display:grid;grid-template-columns:22px 1fr 90px auto;gap:9px;align-items:center;padding:5px 0;font-size:.88rem}
.nlq-rkn{font-family:ui-monospace,Consolas,monospace;color:hsl(var(--muted-foreground));text-align:center}
.nlq-rknm{font-weight:600}
.nlq-rkbar{height:6px;background:hsl(var(--muted));border-radius:4px;overflow:hidden}
.nlq-rkbar i{display:block;height:100%;background:hsl(var(--accent));border-radius:4px}
.nlq-rkv{font-family:ui-monospace,Consolas,monospace;text-align:right;white-space:nowrap}
.nlq-rkv small{color:hsl(var(--muted-foreground));font-size:.66rem;margin-left:3px}
@media (max-width:720px){
  .mh-teams{grid-template-columns:1fr auto 1fr;gap:6px}
  .mh-name{font-size:1rem}.crest{width:38px;height:38px;font-size:.8rem}
  .nlq-rk{grid-template-columns:20px 1fr 60px auto}
}

/* ============================================================
   Histórico datado (track record) — previsto × real por jogo, sem cherry-pick
   ============================================================ */
.ac-hist{display:inline-block;margin-top:12px;font-size:.82rem;font-weight:600;color:hsl(var(--accent))}
.ac-hist:hover{text-decoration:underline}
.tr-head{margin-bottom:14px}
.tr-legend{margin-top:10px;font-size:.72rem;color:hsl(var(--muted-foreground));display:flex;flex-wrap:wrap;align-items:center;gap:6px;line-height:1.6}
.tr-legend b{color:hsl(var(--foreground))}
.tr-toggle{display:inline-flex;gap:4px;background:hsl(var(--muted)/.5);border:1px solid hsl(var(--border));border-radius:999px;padding:3px;margin-bottom:14px}
.tr-toggle a{font-size:.8rem;font-weight:600;color:hsl(var(--muted-foreground));padding:6px 14px;border-radius:999px;white-space:nowrap}
.tr-toggle a.on{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}
.tr-agg{margin:0}
.tr-list{margin-top:16px;display:flex;flex-direction:column;gap:8px}
.tr-row{background:hsl(var(--card));border:1px solid hsl(var(--border));border-radius:10px;padding:11px 14px}
.tr-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:9px}
.tr-dt{font-family:ui-monospace,Consolas,monospace;font-size:.78rem;color:hsl(var(--accent));font-weight:700}
.tr-mt{font-weight:700;font-size:.92rem}
.tr-mt i{color:hsl(var(--muted-foreground));font-style:normal;font-weight:400;margin:0 2px}
.tr-sc{font-family:ui-monospace,Consolas,monospace;background:hsl(var(--accent)/.15);border:1px solid hsl(var(--accent)/.4);border-radius:6px;padding:0 7px;font-size:.82rem;margin-left:4px}
.tr-cp{font-size:.74rem}
.tr-hit{margin-left:auto;font-size:.72rem;font-weight:700;color:hsl(var(--muted-foreground));background:hsl(var(--muted)/.6);border-radius:999px;padding:2px 10px;white-space:nowrap}
.tr-hit.full{color:hsl(var(--success));background:hsl(var(--success)/.13)}
.tr-hit.zero{color:hsl(var(--destructive));background:hsl(var(--destructive)/.12)}
.tr-chips{display:flex;flex-wrap:wrap;gap:7px}
.tr-ind{display:inline-flex;align-items:baseline;gap:4px;font-variant-numeric:tabular-nums;border-radius:7px;padding:4px 9px;font-size:.82rem;border:1px solid transparent}
.tr-ind .tr-il{font-size:.66rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;opacity:.85}
.tr-ind b{font-size:.98rem}
.tr-ind small{font-size:.68rem;opacity:.7}
.tr-ind.ok{background:hsl(var(--success)/.13);border-color:hsl(var(--success)/.35);color:hsl(var(--success))}
.tr-ind.miss{background:hsl(var(--destructive)/.11);border-color:hsl(var(--destructive)/.32);color:hsl(var(--destructive))}
.tr-ind.ok b,.tr-ind.miss b{color:hsl(var(--foreground))}
@media (max-width:720px){
  .tr-toggle{display:flex}
  .tr-toggle a{flex:1;text-align:center;padding:6px 8px}
  .tr-hit{margin-left:0}
}

/* item ativo do combo por teclado (setas) — a11y (auditoria 07/2026) */
.combo-item.on{background:hsl(var(--accent)/.16)}

/* respeita quem pede menos animação (a11y) — neutraliza fade/transições/transforms */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
