/* CBPRO — tema do aplicativo no novo sistema visual.
   Carregado por último sobre o aplicativo existente: troca só a apresentação (cores, tipografia, superfícies, botões).
   Nenhuma lógica muda. Referência: telas "Home CBPRO redesenhada". */
@import url('https://fonts.googleapis.com/css2?family=Saira:ital,wght@0,600;0,700;1,800;1,900&family=Saira+Condensed:wght@600;700;800&family=Montserrat:wght@400;500;600;700;800&display=swap');

/* ---------- tokens ---------- */
:root,html.dark,html.program-dark,html[data-cbpro-theme],html[data-cbpro-theme=dark],html[data-cbpro-theme=light]{
  --cb-bg:#050b1c;--cb-panel:#0c1630;--cb-panel-2:#081227;--cb-raised:#142440;--cb-raised-2:#1b3152;--cb-side:#06132c;
  --cb-ink:#F4F6FA;--cb-soft:#D5DEEE;--cb-muted:#C5D0E6;--cb-dim:#8ea3c4;
  --cb-line:rgba(244,246,250,.1);--cb-line-2:#253958;--cb-field:#081834;--cb-field-line:#405778;
  --cb-green:#0F8A3C;--cb-green-hi:#13a047;--cb-accent:#0dd878;--cb-gold:#FFC20E;--cb-blue:#124aa6;--cb-navy:#0A2560;
  --arena-bg:#050b1c;--arena-panel:#0c1630;--arena-raised:#142440;--arena-ink:#F4F6FA;--arena-muted:#C5D0E6;--arena-line:#253958;--arena-accent:#0dd878;--arena-blue:#124aa6;
  --circuit-navy:#050b1c;--circuit-paper:#050b1c;--circuit-white:#0c1630;--circuit-line:#253958;--circuit-muted:#C5D0E6;--circuit-green:#0dd878;--circuit-blue:#124aa6;
  --background:224 70% 6%;--foreground:220 38% 97%;--card:223 60% 12%;--card-foreground:220 38% 97%;--popover:217 52% 16%;--popover-foreground:220 38% 97%;
  --muted:217 52% 16%;--muted-foreground:220 40% 84%;--secondary:217 52% 16%;--secondary-foreground:220 38% 97%;
  --border:217 40% 25%;--input:215 31% 36%;--ring:152 89% 45%;
  --primary:142 80% 30%;--primary-foreground:220 38% 97%;--accent:152 89% 45%;--accent-foreground:224 70% 6%;--warning:45 100% 53%;
  --radius:.75rem;color-scheme:dark
}
.cbpro-workspace,html[data-cbpro-theme=dark] .cbpro-workspace,html[data-cbpro-theme=light] .cbpro-workspace{--desk-surface:#050b1c;--desk-ink:#F4F6FA;--desk-muted:#C5D0E6;--desk-line:rgba(244,246,250,.1);--desk-paper:#050b1c;--desk-soft:#142440;--desk-primary:#0F8A3C}
.cbpro-federation-editorial,.cbpro-federation-premium{--desk-paper:#050b1c;--desk-ink:#F4F6FA;--desk-muted:#C5D0E6;--desk-line:rgba(244,246,250,.1)}

/* ---------- base ---------- */
html{scrollbar-color:#405778 #050b1c}
html body,html #root{background:#050b1c;color:#F4F6FA;font-family:Montserrat,sans-serif;-webkit-font-smoothing:antialiased;caret-color:#0dd878}
::selection{background:#0dd878;color:#050b1c}
html #root :is(p,button,input,select,textarea,a,label,td,th,small,li,dd,dt,figcaption,blockquote),html [role=dialog] :is(p,button,input,select,textarea,a,label,td,th,small,li){font-family:Montserrat,sans-serif}
html #root#root :is(h1,h2),html [role=dialog][role=dialog] :is(h1,h2){font-family:Saira,sans-serif!important;font-style:italic!important;font-weight:900!important;text-transform:uppercase!important;letter-spacing:-.035em!important;line-height:.94!important;text-wrap:balance}
html #root#root :is(h3,h4,h5),html [role=dialog][role=dialog] :is(h3,h4,h5){font-family:Montserrat,sans-serif!important;font-style:normal!important;font-weight:800!important;letter-spacing:0!important;text-transform:none!important}
html #root#root h1{font-size:clamp(36px,4.6vw,64px)!important}
html #root :is(td,time,strong,dd){font-variant-numeric:tabular-nums}
html #root a{color:inherit}
html #root :is(button,a,input,select,textarea,[role=tab]):focus-visible,html [role=dialog] :is(button,a,input,select,textarea):focus-visible{outline:3px solid #0dd878;outline-offset:2px}
html #root#root .font-display,html [role=dialog][role=dialog] .font-display{font-family:Saira,sans-serif!important;font-style:italic!important;font-weight:900;text-transform:uppercase;letter-spacing:-.03em}
html #root .font-mono{font-family:Saira,sans-serif!important;font-weight:700;font-variant-numeric:tabular-nums}

/* ---------- superfícies genéricas (classes utilitárias do aplicativo) ---------- */
html #root :is(.bg-background,.bg-sidebar){background-color:#050b1c}
html #root :is(.bg-card,.card-glow,.bg-popover),html [role=dialog].bg-background,html [data-radix-popper-content-wrapper] :is(.bg-popover,[role=menu],[role=listbox]){background-color:#0c1630}
html #root .card-glow,html #root :is(.rounded-lg,.rounded-xl,.rounded-2xl).border{border-color:rgba(244,246,250,.1)}
html #root .card-glow{box-shadow:none;border-radius:16px}
html #root :is(.bg-muted,.bg-secondary){background-color:#142440}
html #root :is(.text-muted-foreground){color:#C5D0E6}
html #root :is(.border,.border-b,.border-t,.border-l,.border-r,.divide-y>*,.border-border){border-color:rgba(244,246,250,.1)}
html #root .text-primary,html [role=dialog] .text-primary{color:#0dd878}
html #root :is(.bg-primary){background-color:#0F8A3C;color:#F4F6FA}
html #root :is(.shadow-\[0_0_26px_hsl\(var\(--primary\)\/0\.42\)\]){box-shadow:none}
html #root .grid-bg{display:none}

/* ---------- botões ---------- */
html #root :is(button,[role=button],a).bg-primary,html [role=dialog] :is(button,a).bg-primary,html [role=alertdialog] :is(button,a).bg-primary{background:#0F8A3C!important;color:#F4F6FA!important;border-radius:10px;font-weight:800;box-shadow:none!important;letter-spacing:0;text-transform:none}
html #root :is(button,a).bg-primary:hover,html [role=dialog] :is(button,a).bg-primary:hover{background:#13a047!important}
html #root :is(button,a).bg-destructive,html [role=dialog] .bg-destructive,html [role=alertdialog] .bg-destructive{border-radius:10px;font-weight:800}
html #root button:is(.border,.border-input).bg-background,html [role=dialog] button:is(.border,.border-input).bg-background{background:transparent;border:1px solid rgba(244,246,250,.2);border-radius:10px;color:#F4F6FA;font-weight:700}
html #root button:is(.border,.border-input).bg-background:hover{background:rgba(244,246,250,.06)}
html #root button{border-radius:10px}

/* ---------- campos ---------- */
html #root :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,[role=combobox]),html [role=dialog] :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select,textarea,[role=combobox]){background-color:#081834!important;border:1px solid #405778!important;color:#F4F6FA!important;border-radius:10px!important;font-family:Montserrat,sans-serif}
html #root :is(input,textarea)::placeholder,html [role=dialog] :is(input,textarea)::placeholder{color:#8ea3c4}
html #root label,html [role=dialog] label{font-weight:700;color:#F4F6FA}

/* ---------- abas, selos, tabelas ---------- */
html #root [role=tablist]{background:rgba(244,246,250,.05);border:1px solid rgba(244,246,250,.1);border-radius:12px;padding:5px;gap:4px;height:auto}
html #root [role=tab]{border-radius:8px;font-weight:700;color:#D5DEEE;min-height:40px}
html #root [role=tab][data-state=active],html #root [role=tab][aria-selected=true]{background:#F4F6FA!important;color:#050b1c!important;box-shadow:none}
html #root table{border-collapse:separate;border-spacing:0}
html #root th{color:#C5D0E6;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
html #root :is(tr,td,th){border-color:rgba(244,246,250,.08)}
html #root tbody tr:hover{background:#13213f}
html #root :is(.rounded-full).border.text-\[10px\],html #root [class*="badge"]{letter-spacing:.1em;font-weight:800}

/* ---------- diálogos, menus, avisos ---------- */
html [role=dialog],html [role=alertdialog]{background:#0c1630!important;border:1px solid rgba(244,246,250,.14)!important;border-radius:20px;color:#F4F6FA}
html [role=dialog][data-side=bottom],html [role=dialog].rounded-t-\[1\.5rem\]{border-radius:20px 20px 0 0}
html [data-radix-popper-content-wrapper]>*{background:#142440;border:1px solid #314667;border-radius:12px;color:#F4F6FA;box-shadow:0 12px 32px #0006}
html [data-sonner-toast]{background:#142440;border:1px solid #314667;border-radius:12px;color:#F4F6FA;font:600 14px/1.45 Montserrat,sans-serif}

/* ---------- cabeçalho e rodapé públicos do aplicativo ---------- */
html .arena-header{height:72px;background:rgba(5,11,28,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(244,246,250,.08);gap:clamp(10px,3vw,36px);padding:0 clamp(16px,3.4vw,56px)}
html #root:has(.arena-header){padding-top:72px}
html .arena-tabs{gap:2px}
html .arena-tabs a{height:auto;padding:10px 14px;border-radius:8px;border:0;color:#D5DEEE;font:600 13px Montserrat,sans-serif}
html .arena-tabs a:hover,html .arena-tabs a[aria-current=page],html .arena-tabs a.active{background:rgba(244,246,250,.1);color:#F4F6FA}
html .arena-account :is(a,button){min-height:44px;display:inline-flex;align-items:center;gap:10px;padding:0 16px;border-radius:8px;font:600 13px Montserrat,sans-serif;white-space:nowrap}
html .arena-account .arena-login{background:transparent;color:#F4F6FA}
html .arena-account .arena-login:hover{background:rgba(244,246,250,.1)}
html .arena-account .arena-signup{background:#0F8A3C;color:#F4F6FA;font-weight:800;padding:0 18px}
html .arena-account .arena-signup:hover{background:#13a047}
html .arena-account .arena-menu{background:transparent;border:1px solid rgba(244,246,250,.2);color:#F4F6FA;padding:0 14px}
html .arena-rail{background:#06132c;border-right:1px solid #253958}
html #root footer.cbpro-public-footer,html.dark #root footer.cbpro-public-footer{--line:#253958;background:#06132c;color:#b0c3df;border-top:1px solid #253958}
html #root#root footer.cbpro-public-footer h2{font-family:Montserrat,sans-serif!important;font-style:normal!important;font-size:12px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:#F4F6FA;line-height:1.4!important}
html .cbpro-footer-intro>a,html .cbpro-public-brand,html .cbpro-workspace-brand{background:transparent!important;padding:0!important}

/* ---------- área do competidor (painel) ---------- */
html .cbpro-workspace{font-family:Montserrat,sans-serif;background:#050b1c}
html .cbpro-workspace-header{height:64px;background:rgba(6,19,44,.95);border-bottom:1px solid #253958;padding:0 clamp(16px,3vw,40px)}
html .cbpro-workspace-header-label{font:700 13px 'Saira Condensed',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#D5DEEE;border-color:#253958}
html .cbpro-workspace-public{font:700 13px Montserrat,sans-serif;min-height:44px;display:inline-flex;align-items:center;padding:0 16px;border:1px solid rgba(244,246,250,.18);border-radius:10px}
html .cbpro-workspace-body{grid-template-columns:240px minmax(0,1fr);min-height:calc(100dvh - 64px)}
html .cbpro-workspace-navigation{background:#06132c;border-right:1px solid #253958}
html .cbpro-workspace-nav{top:64px;min-height:calc(100dvh - 64px);max-height:calc(100dvh - 64px);padding:22px 14px;gap:2px;font-family:Montserrat,sans-serif}
html #root .cbpro-workspace-nav-item{min-height:44px;padding:0 12px;border-radius:10px;color:#b0c3df;font:700 14px Montserrat,sans-serif}
html #root .cbpro-workspace-nav-item:hover{background:#142440;color:#F4F6FA}
html #root .cbpro-workspace-nav-item.is-active{background:#124aa6;color:#F4F6FA}
html .cbpro-workspace-nav-section{border-top:1px solid #253958;margin-top:14px;padding-top:14px}
html #root .cbpro-workspace-nav-section .cbpro-workspace-nav-item{min-height:40px;font-size:13px;font-weight:600}
html .cbpro-workspace-count{background:#0dd878;color:#050b1c;font-weight:800;font-size:11px;border-radius:11px;min-width:22px;height:22px;display:flex;align-items:center;justify-content:center}
html .cbpro-workspace-profile{margin-top:auto;border:0;padding:12px;border-radius:12px;background:#0d1e39}
html .cbpro-workspace-profile strong{font-size:13px;font-weight:800}
html .cbpro-workspace-session>button{color:#b0c3df;font:700 12px Montserrat,sans-serif}
html #root .cbpro-workspace-content{padding:clamp(28px,3.4vw,44px) clamp(18px,3vw,40px) 56px;background:#050b1c}
html #root .cbpro-desk,html #root .cbpro-desk-v2{max-width:1280px}
html #root#root .cbpro-desk-v2 .cbpro-desk-heading h1,html #root#root .cbpro-desk h1{font-size:clamp(36px,4vw,60px)!important;line-height:.9!important;margin-bottom:10px}
html #root .cbpro-desk-v2 .cbpro-desk-heading p{font-size:15px;color:#C5D0E6}
html #root .cbpro-desk-top-actions{gap:8px;margin-bottom:24px}
html #root .cbpro-desk-top-actions>button,html #root .cbpro-desk-top-actions>a{min-height:46px;display:inline-flex;align-items:center;padding:0 18px;border-radius:10px;font:700 14px Montserrat,sans-serif;text-decoration:none}
html #root .cbpro-desk-primary{background:#0F8A3C;color:#F4F6FA;font-weight:800}
html #root .cbpro-desk-primary:hover{background:#13a047}
html #root .cbpro-desk-secondary{background:#142440;color:#F4F6FA}
html #root .cbpro-desk-secondary:hover{background:#1b3152}
html #root .cbpro-desk-top-actions>a{border:1px solid rgba(244,246,250,.18);color:#F4F6FA}
html #root .cbpro-desk-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:20px;align-items:start}
html #root .cbpro-desk-grid>section{padding:22px;background:#0c1630;border:1px solid rgba(244,246,250,.08);border-radius:18px}
html #root#root .cbpro-desk-grid h2,html #root#root .cbpro-desk-account-strip h2,html #root#root .arena-admin-tools h2{font-family:Montserrat,sans-serif!important;font-style:normal!important;font-weight:800!important;font-size:18px!important;letter-spacing:0!important;text-transform:none!important;line-height:1.25!important}
html #root .cbpro-desk-grid section>header button{color:#0dd878;font:700 13px Montserrat,sans-serif}
html #root .cbpro-desk-team-list{gap:10px}
html #root .cbpro-desk-team-row{padding:14px;border-radius:14px;background:#081227;border:1px solid rgba(244,246,250,.06)}
html #root .cbpro-desk-team-row:last-child{border:1px solid rgba(244,246,250,.06)}
html #root .cbpro-desk-team-row:hover,html #root .cbpro-desk-player-list button:hover{background:#13213f}
html #root .cbpro-desk-team-row strong,html #root .cbpro-desk-player-list strong{font-size:16px;font-weight:800}
html #root .cbpro-desk-team-row small,html #root .cbpro-desk-player-list small{font-size:12px;font-weight:600;color:#C5D0E6}
html #root .cbpro-desk-row-cta{color:#0dd878;font-size:13px;font-weight:800}
html #root .cbpro-desk-row-cta::after{content:' →'}
html #root .cbpro-desk-avatar{border-radius:12px;background:#1b3152;font-family:Saira,sans-serif;font-style:italic;font-weight:900}
html #root .cbpro-desk-player-list button{padding:12px;border-radius:14px;background:#081227}
html #root .cbpro-desk-grid .cbpro-desk-match{background:linear-gradient(150deg,#124aa6,#0A2560);border:1px solid rgba(244,246,250,.16);border-radius:20px;padding:26px;gap:14px;align-items:stretch}
html #root#root .cbpro-desk-grid .cbpro-desk-match h2{font-family:Saira,sans-serif!important;font-style:italic!important;font-weight:900!important;font-size:30px!important;line-height:.95!important;letter-spacing:-.02em!important;text-transform:uppercase!important;margin:0}
html #root .cbpro-desk-match p{color:#D5DEEE;margin:0}
html #root .cbpro-desk-match .cbpro-desk-report-button{background:#F4F6FA!important;color:#050b1c!important;min-height:52px!important;border-radius:10px!important;font:800 15px Montserrat,sans-serif!important;justify-content:center;max-width:none;width:100%}
html #root .cbpro-desk-match .cbpro-desk-report-button:hover{background:#FFC20E!important}
html #root .cbpro-desk-agenda{min-height:46px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(244,246,250,.3);border-radius:10px;font:700 14px Montserrat,sans-serif;text-decoration:none;margin-top:0;padding:0 16px}
html #root .cbpro-desk-agenda:hover{background:rgba(244,246,250,.1)}
html #root .cbpro-desk-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:24px 16px;text-align:center}
html #root#root .cbpro-desk-empty h3{font-size:15px;font-weight:600!important;margin:0}
html #root .cbpro-desk-empty p{margin:0}
html #root .cbpro-desk-empty button{background:#0F8A3C;color:#F4F6FA;border-radius:10px;font:800 13px Montserrat,sans-serif;padding:0 18px}
html #root .cbpro-desk-shortcut{border-color:rgba(244,246,250,.06);border-radius:10px;padding:14px 12px}
html #root .cbpro-desk-shortcut:hover{background:#13213f}
html #root .cbpro-desk-shortcut strong{font-size:15px;font-weight:800}
html #root .cbpro-desk-account-strip{padding:20px 22px;background:#0c1630;border:1px solid rgba(244,246,250,.08);border-radius:18px;margin-top:20px}
html #root .cbpro-desk-account-strip>a,html #root .cbpro-desk-account-strip .cbpro-desk-settings{min-height:40px;padding:0 14px;border-radius:10px;font:700 13px Montserrat,sans-serif;text-decoration:none}
html #root .cbpro-desk-account-strip .cbpro-desk-settings{background:#142440;color:#F4F6FA}
html #root .cbpro-desk-account-strip>a{color:#b0c3df;display:inline-flex;align-items:center}
html #root .cbpro-desk-settings::after{content:none}
html .arena-admin-tools{margin:20px 0 0;background:#0c1630;border:1px solid rgba(244,246,250,.08);border-radius:18px;padding:22px}
html .arena-admin-links a{background:#142440;border-radius:10px;min-height:40px;display:inline-flex;align-items:center;padding:0 14px;font:700 13px Montserrat,sans-serif;color:#F4F6FA}
html .arena-admin-links a:hover{background:#1b3152}
html .arena-admin-links a:first-child{background:#0F8A3C;font-weight:800}
html #root .cbpro-desk-error{border:1px solid rgba(255,90,90,.4);background:rgba(255,90,90,.12);color:#ffb3b3}

/* demais telas da área logada (gestão, convites, organizações, jogos, admin) */
html #root :is(.cbpro-management-header,.cbpro-invites-header,.cbpro-organizations-header,.cbpro-competition-desk-heading,.cbpro-org-management-head,.cbpro-games-desk>header,.cbpro-game-detail>header){border-color:rgba(244,246,250,.1)}
html #root#root :is(.cbpro-management-title h2,.cbpro-invites-header h1,.cbpro-organizations h1,.cbpro-competition-desk-heading h1,.cbpro-games-desk h1,.cbpro-game-detail h1,.cbpro-org-management-head h2){font-size:clamp(34px,4vw,56px)!important}
html #root :is(.cbpro-invites-switch button,.cbpro-org-management-nav button,.cbpro-competition-desk-tools>div:last-child button){border-radius:10px;font:700 14px Montserrat,sans-serif;color:#b0c3df}
html #root :is(.cbpro-invites-switch button[aria-pressed=true],.cbpro-org-management-nav button[aria-current=page]){background:#124aa6;color:#F4F6FA}
html #root :is(.cbpro-invites-records .card-glow,.cbpro-competition-desk-results [class*="card-glow"],.cbpro-management--teams .cbpro-management-records>[class*="grid"]>div){background:#0c1630;border:1px solid rgba(244,246,250,.08);border-radius:16px;padding:18px;margin-bottom:10px}
html #root :is(.cbpro-organizations-request,.cbpro-offer-actions button:first-child){background:#0F8A3C;color:#F4F6FA;border-radius:10px;font-weight:800}
html #root .cbpro-organization-row{border-color:rgba(244,246,250,.1)}
html #root .cbpro-organization-row>img{background:#647e9e;border-radius:14px}
html #root .cbpro-organization-manage,html #root .cbpro-desk-action-open,html #root .cbpro-desk-reference{color:#0dd878}
html #root .cbpro-game-row{border-color:rgba(244,246,250,.1);border-radius:14px}
html #root .cbpro-game-row:hover{background:#0c1630}
html #root :is(.cbpro-game-symbol,.cbpro-game-detail-layout aside svg){color:#0dd878}

@media(max-width:900px){html .cbpro-workspace-body{display:block}}
@media(prefers-reduced-motion:reduce){html #root *{animation:none!important;transition:none!important}}
