/* ============================================================================
   O LAÇADOR — DESIGN SYSTEM "PANTANAL" v3 (premium · profundidade · arena)
   Light Pantanal (papel elegante) em tudo, inclusive telões: branco/preto de
   base, dourado e verde só como acento (destaque/alerta), nunca como fundo.
   ============================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Anton&family=Raleway:wght@500;600;700;800&family=Inter:wght@400;450;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@600;700;800&display=swap');

/* ===================== PANTANAL LIGHT (papel elegante) =================== */
:root{
  --preto-pantanal:#111315; --verde-pantanal:#1E5B44; --dourado-sol:#E7B52C;
  --areia-pantanal:#D7C3A3; --verde-claro:#2ECC8A; --bronze:#CD7F46;

  /* ELEVAÇÃO (4 degraus) */
  --bg:#E9E1D1; --panel:#F4EFE4; --card:#FFFFFF; --card-2:#F7F2E8; --hover:rgba(30,91,68,.05);
  --ink:#14201A; --ink-2:#3C4A43; --muted:#586259; --muted-3:#8B948C;
  --line:rgba(20,40,30,.12); --line-2:rgba(20,40,30,.20);

  --gold:#C9941E; --gold-bright:#E7B52C; --verde:#1E5B44;
  --blue-700:#16462F; --blue-600:#1E5B44; --blue-500:#2A7A5C; --blue-100:rgba(30,91,68,.10); --blue-50:rgba(30,91,68,.06);
  --pos:#15803D; --pos-bg:rgba(34,197,94,.12); --pos-bd:rgba(34,197,94,.32);
  --neg:#DC2626; --neg-bg:rgba(239,68,68,.10); --neg-bd:rgba(239,68,68,.28);
  --rep:#B45309; --rep-bg:rgba(255,179,0,.16); --rep-bd:rgba(255,179,0,.42);
  --amber:#B45309; --amber-bg:rgba(255,179,0,.16); --live:#0E9F5E; --silver:#7C858C;

  --aura:radial-gradient(1100px 560px at 86% -14%, rgba(30,91,68,.06), transparent 60%),
         radial-gradient(840px 480px at -8% 2%, rgba(231,181,44,.05), transparent 55%);
  --sh-sm:0 1px 2px rgba(20,24,20,.05), 0 1px 1px rgba(20,24,20,.03);
  --sh-md:0 4px 10px rgba(20,24,20,.05), 0 14px 32px rgba(20,24,20,.07);
  --sh-lg:0 24px 60px rgba(20,24,20,.13), 0 6px 18px rgba(20,24,20,.07);
  --r-sm:11px; --r-md:15px; --r-lg:20px; --r-xl:26px;
  --f-display:'Plus Jakarta Sans',Inter,sans-serif;

  /* TELÃO (claro, mesma paleta branco/preto/dourado/verde do resto do site) */
  --t-bg:#F2F1EC; --t-panel:#FFFFFF; --t-row:#FFFFFF; --t-row2:#F5F4EE;
  --t-ink:#101214; --t-muted:#65696D; --t-line:rgba(16,18,20,.09);
  --t-gold:#B7791F; --t-green:#0E9F5E; --t-live:#0E9F5E;
  /* nomes da família do telão (placar/largada) → Pantanal */
  --blue:#E7B52C; --blue2:#B7791F; --blue-glow:rgba(231,181,44,.25);
  --live:#0E9F5E; --muted2:#8A9096; --gold-telao:#E7B52C;
}

/* ===================== PANTANAL DARK (preto cinematográfico) ============= */
/* TEMA REMOVIDO: todo o site é LIGHT fixo. .theme-dark (se presente) = LIGHT.
   Telões usam a mesma paleta clara, via body:has(.ptitle). */
body.theme-dark{
  --bg:#E9E1D1; --panel:#F4EFE4; --card:#FFFFFF; --card-2:#F7F2E8; --hover:rgba(30,91,68,.05);
  --ink:#14201A; --ink-2:#3C4A43; --muted:#586259; --muted-3:#8B948C;
  --line:rgba(20,40,30,.12); --line-2:rgba(20,40,30,.20);
  --gold:#C9941E; --gold-bright:#E7B52C; --verde:#1E5B44;
  --blue-700:#16462F; --blue-600:#1E5B44; --blue-500:#2A7A5C; --blue-100:rgba(30,91,68,.10); --blue-50:rgba(30,91,68,.06);
  --pos:#15803D; --pos-bg:rgba(34,197,94,.12); --pos-bd:rgba(34,197,94,.32);
  --neg:#DC2626; --neg-bg:rgba(239,68,68,.10); --neg-bd:rgba(239,68,68,.28);
  --rep:#B45309; --rep-bg:rgba(255,179,0,.16); --rep-bd:rgba(255,179,0,.42);
  --amber:#B45309; --amber-bg:rgba(255,179,0,.16); --live:#0E9F5E; --silver:#7C858C;
  --aura:radial-gradient(1100px 560px at 86% -14%, rgba(30,91,68,.06), transparent 60%),radial-gradient(840px 480px at -8% 2%, rgba(231,181,44,.05), transparent 55%);
  --sh-sm:0 1px 2px rgba(28,38,30,.06);
  --sh-md:0 2px 6px rgba(28,38,30,.06), 0 14px 32px rgba(28,38,30,.07);
  --sh-lg:0 30px 70px rgba(28,38,30,.12);
}
/* esconder o seletor de tema (removido) */
#btnTema{display:none !important;}

/* ============================ TIPOGRAFIA ================================= */
body{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-size:14.5px;line-height:1.55;letter-spacing:-.006em;color:var(--ink);}
.flowbar__title b,#provaNome,.modal__head b,.team__id b,h1,h2,h3{
  font-family:'Inter',sans-serif !important;font-weight:800;letter-spacing:-.018em;line-height:1.16;color:var(--ink);}
.rankcard__name{font-family:'Inter',sans-serif !important;font-weight:700;font-size:14.5px;color:var(--ink);}
.res-sec,.kpi__label,.fld label,.nav button span,.lg-cat,.tag,.status-pill .lbl{
  font-family:'Raleway','Inter',sans-serif !important;font-weight:700;letter-spacing:.05em;}
.res-sec{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);}
/* DISPLAY (Anton) só em números e headlines de telão/badges */
.ptitle,.phead,.team__no,[class*="__no"],.lg-ord{
  font-family:'Anton',Impact,sans-serif !important;font-weight:400 !important;letter-spacing:.01em;}
/* PONTOS em destaque (dourado, display, tabular) */
.prow__pts,.rank-row__pts,[data-pts],.team__pts b,.kpi b,.rankcard__champ b{
  font-family:'Anton',Impact,sans-serif !important;font-weight:400 !important;
  font-variant-numeric:tabular-nums;color:var(--gold) !important;}

/* ============================ SUPERFÍCIES =============================== */
html,body{background:var(--bg);}
/* aura só nas telas de app (telões têm o próprio fundo de arena) */
body:not(:has(.ptitle)){background:var(--aura),var(--bg) !important;color:var(--ink);}
::selection{background:rgba(231,181,44,.28);color:inherit;}

/* topo — vidro do painel */
.appbar{background:color-mix(in srgb,var(--panel) 86%,transparent) !important;
  -webkit-backdrop-filter:saturate(160%) blur(18px);backdrop-filter:saturate(160%) blur(18px);
  border-bottom:1px solid var(--line) !important;box-shadow:0 1px 0 var(--line);}
body.theme-dark .appbar{background:color-mix(in srgb,var(--panel) 86%,transparent) !important;border-bottom:1px solid var(--line) !important;}
body.theme-dark .brand{background:none;border:none;padding:2px 0;}
.brand{padding:2px 0;}

/* HIERARQUIA topo: evento + AO VIVO */
.event-pick{background:var(--card) !important;border:1px solid var(--line-2) !important;padding:8px 13px !important;border-radius:var(--r-md) !important;box-shadow:var(--sh-sm);}
.event-pick select{font-weight:800 !important;color:var(--ink) !important;}
.status-pill{font-weight:800;}
.status-pill[data-s="ao-vivo"]{background:var(--pos-bg) !important;color:var(--live) !important;border-color:var(--pos-bd) !important;}
.status-pill[data-s="ao-vivo"] .dot{background:var(--live) !important;box-shadow:0 0 0 4px color-mix(in srgb,var(--live) 24%,transparent);}

/* ===================== ELEVAÇÃO / PROFUNDIDADE ========================= */
/* painel lateral */
.side,.rankcol{background:var(--panel) !important;border:1px solid var(--line) !important;border-radius:var(--r-lg);box-shadow:var(--sh-md);}
/* cards (equipe / rank / kpi) — card destacado do fundo + respiro + fio */
.team,.rankcard,.kpi,.card,.main-empty,.modal__card,.pelotao,.flowbar{
  background:var(--card) !important;border:1px solid var(--line) !important;
  border-radius:var(--r-lg);box-shadow:var(--sh-md);}
.team__head,.rankcard__head{background:var(--card-2) !important;border-bottom:1px solid var(--line) !important;padding:13px 15px;}
.rankcard__body{padding:8px 13px 13px;}
body.theme-dark .team,body.theme-dark .rankcard,body.theme-dark .kpi{background:var(--card) !important;box-shadow:var(--sh-md);}
/* fio dourado sutil no topo dos cards (premium) */
.rankcard,.team{position:relative;}
.rankcard::after,.team::after{content:"";position:absolute;inset:0 0 auto 0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(231,181,44,.35),transparent);opacity:.6;border-radius:var(--r-lg) var(--r-lg) 0 0;}

/* ===================== TABELA (escaneável) ============================= */
.grid thead th,.grid th{background:var(--card-2) !important;color:var(--muted) !important;
  border-bottom:1px solid var(--line-2) !important;font-weight:700;letter-spacing:.04em;}
.grid td,.grid th{border-right:1px solid var(--line);}
.grid tbody tr{border-bottom:1px solid var(--line);}
.grid tbody tr:nth-child(even){background:color-mix(in srgb,var(--card-2) 55%,transparent);}
.grid tbody tr:hover{background:var(--hover);}
.cell{outline:1px solid transparent;}
.cell .mk{font-weight:800;}

/* ===================== RANKING LATERAL (leve + pontos fortes) =========== */
.rank-row{border-bottom:1px solid var(--line);padding:9px 6px;}
.rank-row:hover{background:var(--hover);}
.rank-row__id b{font-weight:700;color:var(--ink);}
.rank-row__id span{color:var(--muted);}
.rank-row__pts{font-size:18px;}
.rank-row__pos{background:var(--card-2) !important;color:var(--muted-3) !important;font-weight:800;}
/* 1º lugar brilha (ouro) */
.rank-row.is-champ,.rank-row:first-child{background:linear-gradient(90deg,rgba(231,181,44,.10),transparent) !important;}
.rank-row.is-champ .rank-row__pos,.rank-row:first-child .rank-row__pos,.is-champ .rank-row__pos{
  background:linear-gradient(135deg,#F2C84B,#E7B52C) !important;color:#241803 !important;box-shadow:0 4px 14px rgba(231,181,44,.4);}

/* ===================== BOTÕES / TAGS / INPUTS ========================== */
.btn{border:1px solid var(--line-2);font-weight:700;}
.btn--primary{background:linear-gradient(135deg,#F2C84B,#E7B52C) !important;color:#241803 !important;
  border-color:transparent !important;box-shadow:0 6px 20px rgba(231,181,44,.30) !important;font-weight:800;}
.btn--primary:hover{background:linear-gradient(135deg,#E7B52C,#C9941E) !important;}
.nav button.on,.seg button.on,.prova-chip.on{background:var(--verde) !important;color:#fff !important;border-color:transparent !important;box-shadow:0 4px 14px rgba(30,91,68,.34) !important;}
.prova-chip.on b{color:#fff !important;}
input,select,textarea,.fld input,.fld select,.ta input{background:var(--card-2) !important;color:var(--ink) !important;border:1px solid var(--line-2) !important;font-weight:600;}
input::placeholder,textarea::placeholder{color:var(--muted-3);}
input:focus,select:focus,textarea:focus{border-color:var(--gold-bright) !important;box-shadow:0 0 0 3px rgba(231,181,44,.16) !important;outline:none;}
.search,.teamsbar,.voltas,.seg{background:var(--card-2) !important;border:1px solid var(--line) !important;}
.pill-champ{background:linear-gradient(135deg,#F2C84B,#E7B52C) !important;color:#241803 !important;}
.barfin{background:rgba(127,127,127,.14) !important;}.barfin i{background:linear-gradient(90deg,var(--verde-claro),var(--dourado-sol)) !important;}
/* tags Pantanal */
.tag--link{background:rgba(231,181,44,.16) !important;color:var(--gold) !important;}
.tag--vet{background:rgba(215,195,163,.20) !important;color:var(--bronze) !important;}
.tag--f{background:rgba(46,204,138,.16) !important;color:#0E9F5E !important;}
.pill-vida{background:rgba(215,195,163,.20) !important;color:var(--bronze) !important;}
body.theme-dark .tag--link{color:var(--gold-bright) !important;}
body.theme-dark .tag--vet,body.theme-dark .pill-vida{color:var(--areia-pantanal) !important;}
[style*="#9333EA"],[style*="#0891B2"],[style*="#DB2777"],[style*="#65A30D"],[style*="#2563EB"],[style*="#3B82F6"]{background:var(--verde-claro) !important;}

/* ===================== GESTOR LOGIN ==================================== */
.login{background:var(--aura),var(--bg) !important;}
.login__card{background:var(--card) !important;box-shadow:var(--sh-lg),0 0 0 1px var(--line) inset !important;}

/* ======================================================================= */
/* ===================== TELÕES — ARENA CLARA (branco/preto/dourado/verde) */
/* ======================================================================= */
body:has(.ptitle){
  background:
    radial-gradient(1400px 700px at 50% -10%, rgba(231,181,44,.06), transparent 55%),
    radial-gradient(1000px 1000px at 50% 130%, rgba(14,159,94,.05), transparent 60%),
    linear-gradient(180deg,#F2F1EC,#EAE8E0 60%) !important;
  color:var(--t-ink) !important;
}
/* vinheta sutil (mantém a moldura cinematográfica, sem escurecer o fundo claro) */
body:has(.ptitle)::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  box-shadow:inset 0 0 160px rgba(16,18,20,.05);}
body:has(.ptitle)>*{position:relative;z-index:1;}
.ptitle{color:var(--t-ink) !important;letter-spacing:.02em;}
.phead{color:var(--t-ink) !important;}
/* painéis/colunas de telão: cartão branco com fio, sem vidro escuro */
.pcol,.pcard,.prox,.frow,.agora,.col,.plist{background:var(--t-panel) !important;border:1px solid var(--t-line) !important;}
/* linhas de ranking do telão, legíveis em fundo claro */
.prow{background:linear-gradient(90deg,var(--t-row),var(--t-row2)) !important;border:1px solid var(--t-line) !important;border-radius:14px !important;box-shadow:0 3px 10px rgba(16,18,20,.06) !important;}
.prow *{color:var(--t-ink);}
.prow .prow__sub,.prow span{color:var(--t-muted) !important;}
.prow__pts,.prow__pts *{color:var(--t-gold) !important;}
.prow__pos{background:rgba(16,18,20,.05) !important;color:var(--t-muted) !important;font-weight:800;}
.prow--1 .prow__pos,.prow:first-child .prow__pos{background:linear-gradient(135deg,#F2C84B,#E7B52C) !important;color:#241803 !important;}
.phead__ico{background:linear-gradient(135deg,var(--dourado-sol),var(--verde-pantanal)) !important;}
.prow__sub,.prow__id span,.phead small,.ptitle+*{color:var(--t-muted) !important;}
/* 1º lugar do telão: destaque dourado, sutil sobre fundo claro */
.prow--1,.prow:first-child{background:linear-gradient(90deg,rgba(231,181,44,.14),rgba(231,181,44,.03)) !important;border:1px solid rgba(231,181,44,.4) !important;box-shadow:0 6px 20px rgba(231,181,44,.14) !important;}
/* largada: card "chamando agora" = destaque dourado sobre branco */
.agora{background:radial-gradient(600px 300px at 0% 0%, rgba(231,181,44,.12), transparent 60%), var(--t-panel) !important;border:1px solid rgba(231,181,44,.35) !important;box-shadow:0 16px 40px rgba(16,18,20,.1), 0 0 0 1px rgba(231,181,44,.15) inset !important;}
.agora__id b,.agora__id{color:var(--t-ink) !important;}
.prox,.frow{color:var(--t-ink) !important;}
.frow__no{background:rgba(16,18,20,.05) !important;color:var(--t-muted) !important;}
.plogo{background:transparent !important;border:none !important;}
/* próximo: destaque verde (dourado é só pro "agora") */
.prox__no{background:linear-gradient(135deg,var(--verde-pantanal),#0F2E33) !important;color:#fff !important;}
.prox{background:radial-gradient(520px 260px at 0% 0%, rgba(14,159,94,.1), transparent 60%), var(--t-panel) !important;border:1px solid rgba(14,159,94,.32) !important;}
.prox__tag{color:#0B7A48 !important;}

/* ============= TELÃO · REFINO ARENA (leitura a 10–30 m) ================ */
/* --- PLACAR: título e nomes maiores · pontos +30% · subtítulos legíveis --- */
.phead h1{font-size:clamp(30px,4.2vw,66px) !important;letter-spacing:0 !important;color:var(--t-ink) !important;}
.phead p{font-size:clamp(12px,1.25vw,19px) !important;color:var(--t-muted) !important;font-weight:700 !important;}
.phead .cnt{font-size:clamp(11px,1.1vw,16px) !important;color:var(--t-muted) !important;}
.prow__id b{font-size:clamp(18px,2.15vw,38px) !important;}
.prow__id span{font-size:clamp(13px,1.3vw,20px) !important;color:var(--t-muted) !important;font-weight:600 !important;}
.prow__pts b{font-size:clamp(28px,3.7vw,60px) !important;}
.prow__pts span{font-size:clamp(11px,1.05vw,16px) !important;color:var(--t-muted) !important;}
.prow__pos{width:clamp(38px,3.2vw,54px) !important;height:clamp(38px,3.2vw,54px) !important;font-size:clamp(16px,1.8vw,26px) !important;}
.prow__dot{width:clamp(9px,.9vw,14px) !important;height:clamp(9px,.9vw,14px) !important;}
/* Top 3 — destaque: linha maior + barra de medalha à esquerda */
.prow--1,.prow--2,.prow--3{flex-grow:1.35 !important;}
.prow--1{border-left:5px solid #E7B52C !important;}
.prow--2{border-left:5px solid #C2C8CF !important;}
.prow--3{border-left:5px solid #CD7F46 !important;}
.prow--1 .prow__id b,.prow--2 .prow__id b,.prow--3 .prow__id b{font-size:clamp(20px,2.5vw,44px) !important;}
/* aproveitar a largura (menos espaço lateral desperdiçado) */
.half{padding:clamp(12px,1.5vw,24px) clamp(14px,1.7vw,26px) !important;}

/* --- LARGADA: competidor atual DOMINA · próximo e fila respiram --- */
.agora{padding:clamp(26px,3.4vw,64px) !important;border:2px solid rgba(231,181,44,.42) !important;
  animation:none !important;box-shadow:0 20px 50px rgba(16,18,20,.1), 0 0 0 1px rgba(231,181,44,.12) inset !important;}
.agora__club{font-size:clamp(40px,5.6vw,94px) !important;line-height:.96 !important;
  word-break:normal !important;overflow-wrap:break-word !important;hyphens:none !important;}
.agora__no{width:clamp(108px,10.8vw,178px) !important;height:clamp(108px,10.8vw,178px) !important;
  font-size:clamp(58px,7vw,116px) !important;border-radius:clamp(20px,2.2vw,34px) !important;}
.agora__cap{font-size:clamp(18px,2.1vw,32px) !important;}
.agora__num{font-size:clamp(15px,1.5vw,22px) !important;}
.prox{padding:clamp(20px,2.4vw,40px) !important;border:1px solid rgba(14,159,94,.32) !important;
  background:radial-gradient(520px 260px at 0% 0%, rgba(14,159,94,.1), transparent 60%), var(--t-panel) !important;}
.prox__tag{font-size:clamp(13px,1.35vw,18px) !important;color:#0B7A48 !important;}
.prox__club{font-size:clamp(26px,3.2vw,52px) !important;}
.prox__cap{font-size:clamp(14px,1.4vw,22px) !important;color:var(--t-muted) !important;}
.fila__tit{font-size:clamp(13px,1.3vw,18px) !important;color:var(--t-muted) !important;padding:clamp(12px,1.5vw,20px) clamp(16px,1.8vw,26px) !important;}
.frow{gap:clamp(14px,1.5vw,24px) !important;padding:0 clamp(18px,2vw,30px) !important;}
.frow__id b{font-size:clamp(18px,1.95vw,32px) !important;}
.frow__id span{font-size:clamp(13px,1.25vw,19px) !important;color:var(--t-muted) !important;}
.frow__no{width:clamp(36px,3vw,52px) !important;height:clamp(36px,3vw,52px) !important;font-size:clamp(16px,1.7vw,24px) !important;}

/* ======================================================================= */
/* ===================== RESPONSIVIDADE (mobile-first app) =============== */
/* ======================================================================= */
/* nunca permitir scroll horizontal nas telas de app */
body:not(:has(.ptitle)){overflow-x:hidden;}

/* ---------- TABLET (≤1024): empilha coluna lateral, layout fluido ---------- */
@media (max-width:1024px){
  .layout{grid-template-columns:1fr !important;}
  .side{order:3;}
}
/* ---------- header sem aperto em tablet (≤860): botões só ícone ---------- */
@media (max-width:860px){
  .btn--label-hide span{display:none;}
  .event-pick select{max-width:32vw;}
}

/* ============================ CELULAR (≤640px) ========================= */
@media (max-width:640px){

  /* ---- HEADER em 3 linhas: (1) logo+status · (2) evento · (3) ações ---- */
  .appbar__in{flex-wrap:wrap !important;gap:8px !important;padding:9px 12px !important;}
  .brand{order:0;}
  .brand__logo{height:30px !important;}
  .spacer{display:none !important;}
  .status-pill{order:1;margin-left:auto !important;}
  .event-pick{order:2;flex:1 1 100% !important;max-width:100% !important;}
  .event-pick select{max-width:100% !important;width:100% !important;font-size:15px !important;}
  .appbar__in > a.btn,.appbar__in > button.btn,.appbar__in > .btn{order:3;height:42px;}
  .btn--label-hide span{display:none;}            /* Placar/Largada só ícone */

  /* ---- BOTÕES DE AÇÃO viram grid (não estouram largura) ---- */
  .flowbar{flex-wrap:wrap !important;gap:9px !important;}
  .flowbar__title{flex:1 1 100% !important;margin-right:0 !important;}
  #viewSeg,.seg{display:grid !important;grid-template-columns:1fr 1fr;width:100%;flex:1 1 100%;}
  #viewSeg button,.seg button{width:100%;}
  .btn-result{flex:1 1 100% !important;width:100%;justify-content:center;height:44px;}
  .voltas{flex:1 1 100% !important;justify-content:center;}
  .flow-actions{width:100%;}.flow-actions .btn{flex:1;}

  /* ---- TABELA DE MARCAÇÃO → CARDS por laçador (sem scroll horizontal) ---- */
  .grid-wrap{overflow:visible !important;}
  table.grid{min-width:0 !important;width:100% !important;display:block;}
  table.grid thead{display:none !important;}            /* esconde V1 V2 V3... */
  table.grid tbody{display:block;}
  table.grid tbody tr{display:block !important;padding:11px 12px 13px !important;
    border-bottom:1px solid var(--line) !important;}
  table.grid tbody tr td{border:none !important;padding:0 !important;text-align:left !important;}
  /* 1ª célula = cabeçalho do card (laçador) */
  table.grid tbody tr > td:first-child{display:block !important;margin-bottom:9px;}
  table.grid tbody tr > td:first-child .lac{width:100%;align-items:flex-start;}
  /* nome + tags QUEBRAM em vez de cortar (fix texto cortado) */
  .lac__nm{min-width:0;flex:1;}
  .lac__nm b{flex-wrap:wrap !important;white-space:normal !important;overflow:visible !important;text-overflow:clip !important;row-gap:4px;line-height:1.3;}
  .lac__nm b .tag,.lac__nm .tag{white-space:nowrap;flex:0 0 auto;margin:1px 0;}
  /* células de marca = chips "Vn [marca]" coloridos, área de toque ≥44px */
  td.lac-cell{display:inline-flex !important;margin:5px 6px 0 0 !important;}
  td.lac-cell .cell{position:relative;min-width:58px;height:44px;padding:0 10px;
    border:1px solid var(--line) !important;border-radius:11px;background:var(--card-2);
    display:inline-flex;align-items:center;justify-content:center;gap:6px;font-weight:800;}
  td.lac-cell .cell::before{content:"V" attr(data-v);font-size:10.5px;font-weight:800;color:var(--muted);letter-spacing:.04em;}
  td.lac-cell .cell[data-m="P"]{border-color:var(--pos-bd) !important;background:var(--pos-bg) !important;color:var(--pos);}
  td.lac-cell .cell[data-m="X"]{border-color:var(--neg-bd) !important;background:var(--neg-bg) !important;color:var(--neg);}
  td.lac-cell .cell[data-m="R"]{border-color:var(--rep-bd) !important;background:var(--rep-bg) !important;color:var(--rep);}
  td.lac-cell .cell .mk{font-size:15px;}
  /* acertos (última célula nas provas de categoria/pelotão) */
  .lac-end{display:inline-flex;align-items:center;gap:6px;margin-top:9px;
    background:var(--card-2);border:1px solid var(--line);border-radius:10px;padding:5px 12px;}
  .lac-end::before{content:"Acertos";font-size:10.5px;font-weight:800;color:var(--muted);text-transform:uppercase;}

  /* ---- CARDS DE EQUIPE: cabeçalho legível (equipe · cidade · pontos) ---- */
  .team__head{flex-wrap:wrap;gap:9px;padding:12px 13px !important;}
  .team__id{min-width:0;flex:1;}
  .team__id b{font-size:15.5px;}
  .team__pts{margin-left:auto;}
  .team__foot{flex-wrap:wrap;gap:10px 16px;}

  /* ---- FAB Classificações: compacto + safe-area ---- */
  .fab-rank{height:46px !important;padding:0 16px !important;font-size:13px !important;
    right:max(12px,env(safe-area-inset-right)) !important;
    bottom:max(14px,env(safe-area-inset-bottom)) !important;}
  .fab-rank b{display:inline-block;max-width:34vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;}

  /* busca/inputs ocupam largura */
  .search input,.teamsbar{width:100%;}

  /* ============= TELÃO PLACAR mobile (estrutura própria, rolável) ======= */
  body:has(.ptitle){overflow:auto !important;height:auto !important;min-height:100%;display:block !important;}
  .split{display:block !important;}
  .half{padding:12px 12px 16px !important;}
  .half--fix{border-right:none !important;border-bottom:1px solid var(--t-line);}
  .rows{gap:7px !important;}
  .prow{flex:0 0 auto !important;min-height:58px;}
  .prow__id b{font-size:19px !important;}
  .prow--1 .prow__id b,.prow--2 .prow__id b,.prow--3 .prow__id b{font-size:21px !important;}
  .prow__id span{font-size:12.5px !important;}
  .prow__pts b{font-size:26px !important;}
  .prow__pos{width:40px !important;height:40px !important;font-size:18px !important;}
  .phead h1{font-size:30px !important;}
  .pbar{flex-wrap:wrap;gap:10px;}.pevent{display:none;}

  /* ============= TELÃO LARGADA mobile (atual DOMINA, sem overflow) ====== */
  .lg{display:block !important;padding:12px !important;}
  .agora{margin-bottom:12px !important;padding:20px 18px !important;}
  .agora__row{flex-wrap:nowrap;gap:14px !important;}
  .agora__no{width:84px !important;height:84px !important;font-size:46px !important;border-radius:18px !important;}
  .agora__club{font-size:clamp(30px,8.5vw,46px) !important;word-break:normal !important;}
  .agora__cap{font-size:16px !important;}
  .prox__club{font-size:clamp(22px,6vw,32px) !important;}
  .frow{min-height:56px;}
  .frow__id b{font-size:17px !important;}
}

/* ---------- telas muito estreitas (≤360px) ---------- */
@media (max-width:360px){
  .brand__logo{height:26px !important;}
  td.lac-cell .cell{min-width:52px;height:42px;}
  .agora__club{font-size:clamp(26px,8vw,38px) !important;}
  .agora__no{width:74px !important;height:74px !important;font-size:40px !important;}
  .btn--label-hide span{display:none;}
  /* nav inferior do Gestor: 6 itens cabem sem cortar "Financeiro" */
  .nav button{flex:1 1 0 !important;min-width:0 !important;font-size:8px !important;padding:6px 1px !important;gap:2px !important;}
  .nav button svg{width:18px !important;height:18px !important;}
}

/* ============================ POLIMENTO ================================= */
*{scrollbar-width:thin;scrollbar-color:rgba(231,181,44,.30) transparent;}
*::-webkit-scrollbar{width:10px;height:10px;}
*::-webkit-scrollbar-thumb{background:rgba(231,181,44,.28);border-radius:8px;border:2px solid transparent;background-clip:content-box;}
a:focus-visible,button:focus-visible{outline:2px solid rgba(231,181,44,.6);outline-offset:2px;}

/* =======================================================================
   O LAÇADOR · PRODUCT UI v6
   Camada final de consistência: neutros mais precisos, tipografia editorial,
   superfícies calmas e navegação mobile com safe-area. Mantém os contratos e
   componentes legados; altera somente apresentação e ergonomia.
   ======================================================================= */
:root{
  --bg:#F5F5F7;--panel:#F8F8FA;--card:#FFFFFF;--card-2:#FAFAFC;--hover:rgba(16,18,20,.035);
  --ink:#1D1D1F;--ink-2:#424245;--muted:#6E6E73;--muted-3:#98989D;
  --line:rgba(29,29,31,.085);--line-2:rgba(29,29,31,.14);
  --verde:#176B4D;--gold:#A66F12;--gold-bright:#E7B52C;
  --sh-sm:0 1px 2px rgba(0,0,0,.035),0 1px 1px rgba(0,0,0,.025);
  --sh-md:0 12px 30px rgba(0,0,0,.055),0 2px 8px rgba(0,0,0,.035);
  --sh-lg:0 28px 70px rgba(0,0,0,.12),0 8px 22px rgba(0,0,0,.055);
  --r-sm:12px;--r-md:16px;--r-lg:22px;--r-xl:28px;
  --aura:radial-gradient(900px 480px at 88% -12%,rgba(231,181,44,.075),transparent 62%),radial-gradient(800px 480px at -8% 4%,rgba(23,107,77,.055),transparent 58%);
}
body:not(:has(.ptitle)){background:var(--aura),var(--bg) !important;}
.flowbar__title b,#provaNome,.modal__head b,.team__id b,h1,h2,h3,.rankcard__name,
.prow__pts,.rank-row__pts,[data-pts],.team__pts b,.kpi b,.rankcard__champ b{
  font-family:'Plus Jakarta Sans','Inter',sans-serif !important;
  font-variant-numeric:tabular-nums;
}
.team,.rankcard,.kpi,.card,.main-empty,.modal__card,.pelotao,.flowbar,.panel{
  border-color:var(--line) !important;box-shadow:var(--sh-sm) !important;
}
.team:hover,.rankcard:hover,.kpi:hover,.card:hover{border-color:var(--line-2) !important;box-shadow:var(--sh-md) !important;}
.btn,.cell,button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;}
.btn{min-height:42px;transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease;}
.btn:active{transform:scale(.975);}
input,select,textarea{min-height:44px;}
.appbar{position:sticky;top:0;z-index:50;background:rgba(248,248,250,.82) !important;box-shadow:none !important;}

/* Central de Apuração: tab bar nativa no celular. */
.op-appnav{display:none;}
@media (max-width:640px){
  body:has(.op-appnav){padding-bottom:calc(82px + env(safe-area-inset-bottom));}
  body:has(.op-appnav) .appfoot{display:none;}
  body:has(.op-appnav) .fab-rank{bottom:calc(78px + env(safe-area-inset-bottom)) !important;}
  .op-appnav{display:flex;position:fixed;left:10px;right:10px;bottom:max(8px,env(safe-area-inset-bottom));z-index:70;
    padding:7px 6px;background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(22px) saturate(1.7);backdrop-filter:blur(22px) saturate(1.7);
    border:1px solid rgba(29,29,31,.1);border-radius:22px;box-shadow:0 18px 50px rgba(0,0,0,.16),0 1px 0 rgba(255,255,255,.9) inset;}
  .op-appnav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;height:52px;border-radius:16px;color:var(--muted);font-weight:700;text-decoration:none;}
  .op-appnav a svg{width:20px;height:20px;}
  .op-appnav a span{font-size:9.5px;white-space:nowrap;}
  .op-appnav a.on{color:#805609;background:linear-gradient(180deg,rgba(242,200,75,.2),rgba(231,181,44,.1));}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto !important;animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;}
}
