/*
 * TÁ NO JOGO — CSS MESTRE 2026
 * Identidade visual central para todo o sistema.
 * Carregado por último: preserva funcionalidades e padroniza componentes.
 */
:root{
  --tt-navy:#0b1d3a;--tt-navy-strong:#07172f;--tt-navy-soft:#12305d;
  --tt-green:#22c55e;--tt-green-dark:#16a34a;--tt-green-soft:#eafbf0;
  --tt-blue-soft:#eef5ff;--tt-bg:#f4f7fb;--tt-surface:#fff;--tt-surface-soft:#f8fafc;
  --tt-text:#0f172a;--tt-muted:#64748b;--tt-border:rgba(15,23,42,.10);
  --tt-border-strong:rgba(15,23,42,.16);--tt-danger:#dc2626;--tt-warning:#f59e0b;
  --tt-info:#0284c7;--tt-radius-xs:9px;--tt-radius-sm:12px;--tt-radius-md:16px;
  --tt-radius-lg:20px;--tt-radius-xl:24px;--tt-shadow-xs:0 4px 14px rgba(15,23,42,.045);
  --tt-shadow-sm:0 9px 24px rgba(15,23,42,.065);--tt-shadow-md:0 16px 38px rgba(15,23,42,.085);
  --tt-speed:160ms ease;--tt-font:"Inter","Segoe UI",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--tt-bg);color:var(--tt-text);font-family:var(--tt-font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{text-decoration:none}img{max-width:100%}
:is(h1,h2,h3,h4,h5,h6,.page-title,.tt-page-title,.tt-section-title,.card-title,.modal-title){color:var(--tt-navy);letter-spacing:-.022em;font-weight:800}
:is(.text-muted,.tt-muted,.form-text,.card-subtitle,.small-muted,small){color:var(--tt-muted)!important}

/* Estrutura principal */
body.materialize-system,body.tt-mobile-app,body.tt-dashboard-body{background:var(--tt-bg)!important;color:var(--tt-text)!important}
body.materialize-system :is(.layout-page,.content-wrapper,.tt-content-container,.container-fluid,.container-xxl){background:transparent!important}
body.materialize-system #layout-menu,body.materialize-system .layout-menu{background:#fff!important;border-right:1px solid var(--tt-border)!important;box-shadow:6px 0 26px rgba(15,23,42,.04)!important}
body.materialize-system :is(.app-brand,.app-brand-link){color:var(--tt-navy)!important}
body.materialize-system .menu-header-text{color:#94a3b8!important;font-size:.68rem!important;font-weight:850!important;letter-spacing:.105em!important}
body.materialize-system .menu-link{min-height:42px;margin:.12rem .72rem!important;border:1px solid transparent!important;border-radius:12px!important;color:#334155!important;font-weight:700!important;transition:background-color var(--tt-speed),border-color var(--tt-speed),color var(--tt-speed),transform var(--tt-speed)!important}
body.materialize-system .menu-link :is(i,.menu-icon){color:var(--tt-green)!important}
body.materialize-system .menu-item:not(.active)>.menu-link:hover{background:rgba(34,197,94,.08)!important;border-color:rgba(34,197,94,.15)!important;color:var(--tt-navy)!important;transform:translateX(2px)}
body.materialize-system .menu-item.active>.menu-link:not(.menu-toggle){background:var(--tt-navy)!important;border-color:var(--tt-navy)!important;border-right:4px solid var(--tt-green)!important;color:#fff!important;box-shadow:0 12px 22px rgba(11,29,58,.16)!important}
body.materialize-system #layout-navbar,body.materialize-system .layout-navbar{background:#fff!important;border:1px solid var(--tt-border)!important;border-radius:18px!important;box-shadow:var(--tt-shadow-xs)!important}

/* Cards, caixas e blocos */
:is(.card,.tt-card,.tt-panel,.tt-box,.tt-config-card,.tt-dashboard-card,.top-card,.resumo-card,.empty-card,.form-container,.login-container,.team-card,.table-container,.dropdown-menu,.modal-content,.offcanvas){background:var(--tt-surface);border:1px solid var(--tt-border)!important;border-radius:var(--tt-radius-lg)!important;box-shadow:var(--tt-shadow-sm)!important}
body.materialize-system :is(.card,.tt-card,.tt-panel,.tt-box,.tt-config-card,.tt-dashboard-card){transition:transform var(--tt-speed),box-shadow var(--tt-speed),border-color var(--tt-speed)}
body.materialize-system :is(.card,.tt-card,.tt-panel,.tt-box,.tt-config-card,.tt-dashboard-card):hover{border-color:rgba(34,197,94,.20)!important;box-shadow:var(--tt-shadow-md)!important}
body.materialize-system .card{position:relative;overflow:hidden}
body.materialize-system .card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--tt-green);opacity:1}
:is(.card-header,.tt-card-header){background:transparent!important;border-bottom:1px solid rgba(15,23,42,.075)!important}
:is(.card-body,.tt-card-body){padding:1.15rem}
:is(.card-footer,.tt-card-footer){background:transparent!important;border-top:1px solid rgba(15,23,42,.075)!important}

/* Botões */
.btn,button,input[type=submit],input[type=button]{border-radius:var(--tt-radius-sm)!important;font-weight:780!important;letter-spacing:-.01em;transition:transform var(--tt-speed),box-shadow var(--tt-speed),background-color var(--tt-speed),border-color var(--tt-speed),filter var(--tt-speed)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.42rem;min-height:40px}
.btn:hover,button:hover,input[type=submit]:hover{transform:translateY(-1px)}.btn:active,button:active{transform:translateY(0)}
.btn-sm{min-height:34px!important;border-radius:10px!important}.btn-lg{min-height:46px!important;border-radius:14px!important}
:is(.btn-primary,.btn-success,.btn-primary-custom,.btn-report){background:var(--tt-green)!important;border-color:var(--tt-green)!important;color:#fff!important}
:is(.btn-primary,.btn-success,.btn-primary-custom,.btn-report):hover{background:var(--tt-green-dark)!important;border-color:var(--tt-green-dark)!important;box-shadow:0 10px 18px rgba(34,197,94,.18)!important}
.btn-dark{background:var(--tt-navy)!important;border-color:var(--tt-navy)!important;color:#fff!important}.btn-dark:hover{background:var(--tt-navy-strong)!important;border-color:var(--tt-navy-strong)!important}
.btn-outline-primary{border-color:var(--tt-green)!important;color:var(--tt-green-dark)!important}.btn-outline-primary:hover{background:var(--tt-green)!important;color:#fff!important}
.btn-outline-dark{border-color:var(--tt-navy)!important;color:var(--tt-navy)!important}.btn-outline-dark:hover{background:var(--tt-navy)!important;color:#fff!important}

/* Formulários */
:is(.form-control,.form-select,.input-group-text,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=tel],select,textarea){min-height:42px;border:1px solid rgba(15,23,42,.14)!important;border-radius:var(--tt-radius-sm)!important;background:#fff!important;color:var(--tt-text)!important;box-shadow:none!important}
textarea{min-height:96px}:is(.form-control,.form-select,input,select,textarea):focus{border-color:rgba(34,197,94,.78)!important;outline:0!important;box-shadow:0 0 0 .22rem rgba(34,197,94,.13)!important}
:is(.form-label,label){color:#334155;font-weight:760}.input-group>:not(:first-child){margin-left:-1px}.input-group>:not(:first-child),.input-group>:not(:last-child){border-radius:var(--tt-radius-sm)!important}

/* Abas, indicadores e ícones */
:is(.badge,.tt-chip,.tt-pill,.info-pill,.chip-atleta,.name-pill,.team-count){border-radius:999px!important;font-weight:780!important}
:is(.nav-pills,.tt-tabs) .nav-link{border-radius:12px!important;font-weight:760!important}.nav-pills .nav-link.active{background:var(--tt-navy)!important;color:#fff!important}
:is(.tt-icon,.tt-stat-icon,.tt-kpi-icon,.avatar-initial,.icon-box,.icone-box){display:inline-grid;place-items:center;border-radius:14px!important}
:is(.tt-icon,.tt-stat-icon,.tt-kpi-icon,.icon-box,.icone-box) i{color:var(--tt-green)}

/* Tabelas */
.table-responsive{overflow:auto;border:1px solid var(--tt-border);border-radius:var(--tt-radius-md);background:#fff;box-shadow:var(--tt-shadow-xs)}
.table{margin-bottom:0!important;background:#fff}.table thead th,table thead th{background:#f8fafc!important;color:#475569!important;border-bottom:1px solid var(--tt-border)!important;font-size:.72rem!important;font-weight:850!important;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}.table td,.table th,table td,table th{border-color:#eef2f7!important;vertical-align:middle!important}.table tbody tr:hover{background:#f8fafc}

/* Alertas, progresso e modais */
.alert{border:1px solid transparent!important;border-radius:14px!important;font-weight:650}.alert-success{background:#ecfdf3!important;border-color:#bbf7d0!important;color:#166534!important}.alert-warning{background:#fffbeb!important;border-color:#fde68a!important;color:#92400e!important}.alert-danger{background:#fef2f2!important;border-color:#fecaca!important;color:#991b1b!important}.alert-info{background:#f0f9ff!important;border-color:#bae6fd!important;color:#075985!important}
.progress{height:8px;border-radius:999px;background:#e8eef5!important}.progress-bar{border-radius:999px;background:var(--tt-green)!important}.modal-content{overflow:hidden}.modal-header,.modal-footer{border-color:rgba(15,23,42,.075)!important}

/* Cards de atalho */
:is(.menu-card,.card-menu,.box-menu,.opcao-menu,.tt-shortcut-card){border:1px solid var(--tt-border)!important;border-radius:var(--tt-radius-lg)!important;background:#fff!important;box-shadow:var(--tt-shadow-sm)!important;color:var(--tt-navy)!important;transition:transform var(--tt-speed),box-shadow var(--tt-speed),border-color var(--tt-speed)}
:is(.menu-card,.card-menu,.box-menu,.opcao-menu,.tt-shortcut-card):hover{transform:translateY(-3px);border-color:rgba(34,197,94,.28)!important;box-shadow:var(--tt-shadow-md)!important}

/* Login e páginas públicas simples */
body:not(.materialize-system) :is(.login-card,.login-container,.auth-card,.form-container){border:1px solid var(--tt-border)!important;border-radius:var(--tt-radius-xl)!important;background:#fff!important;box-shadow:var(--tt-shadow-md)!important}

/* Mobile */
@media(max-width:767.98px){
  :is(.card-body,.tt-card-body){padding:.95rem}
  :is(.card,.tt-card,.tt-panel,.tt-box,.tt-config-card,.tt-dashboard-card,.dropdown-menu,.modal-content){border-radius:16px!important}
  .btn{min-height:39px}.table thead th,table thead th{font-size:.67rem!important}
  :is(h1,.h1){font-size:1.55rem!important}:is(h2,.h2){font-size:1.32rem!important}:is(h3,.h3){font-size:1.12rem!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}

/* === CORRECAO 2026-06-06: rolagem vertical visivel e conteudo completo ===
 * Algumas telas longas, como Configuracoes > Usuarios, pareciam cortadas porque
 * estilos legados escondiam a barra visual de rolagem. Mantem o menu lateral
 * independente e garante que todo o conteudo central continue acessivel.
 */
html {
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(100,116,139,.58) rgba(226,232,240,.72) !important;
}
body.materialize-system {
  min-height: 100vh !important;
  height: auto !important;
  max-height: none !important;
  overflow-y: auto !important;
}
html::-webkit-scrollbar,
body.materialize-system::-webkit-scrollbar {
  display: block !important;
  width: 10px !important;
  height: 10px !important;
}
html::-webkit-scrollbar-track,
body.materialize-system::-webkit-scrollbar-track {
  background: rgba(226,232,240,.72) !important;
}
html::-webkit-scrollbar-thumb,
body.materialize-system::-webkit-scrollbar-thumb {
  background: rgba(100,116,139,.58) !important;
  border: 2px solid rgba(226,232,240,.72) !important;
  border-radius: 999px !important;
}
html::-webkit-scrollbar-thumb:hover,
body.materialize-system::-webkit-scrollbar-thumb:hover {
  background: rgba(71,85,105,.78) !important;
}
@media (min-width: 1200px) {
  body.materialize-system .layout-wrapper,
  body.materialize-system .layout-container,
  body.materialize-system .layout-page,
  body.materialize-system .content-wrapper {
    height: auto !important;
    max-height: none !important;
    overflow-y: visible !important;
  }
}
body.materialize-system .tt-users-page {
  padding-bottom: 1.25rem !important;
}

/* === AJUSTE 2026-06-06: card Próximo jogo unificado em Atleta e Administração ===
 * Usa o mesmo acabamento nas duas abas e reserva espaço real para o anel no mobile.
 * A data permanece em uma linha, com tipografia menor para não ficar sob o ícone.
 */
body.materialize-system .tt-next-panel-top,
body.materialize-system.tt-dashboard-body .tt-next-panel-top,
body.materialize-system .tt-athlete-next-card {
  background:#061b3a !important;
  background-color:#061b3a !important;
  background-image:radial-gradient(circle at top right,rgba(34,197,94,.16),transparent 34%),linear-gradient(135deg,#061b3a 0%,#0b1d3a 100%) !important;
  color:#fff !important;
  border:1px solid rgba(6,27,58,.42) !important;
  border-radius:24px !important;
  box-shadow:0 18px 38px rgba(6,27,58,.20) !important;
}
body.materialize-system .tt-next-panel-top .pa-next-top {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:start !important;
  gap:12px !important;
  min-width:0 !important;
}
body.materialize-system .tt-next-panel-top .pa-next-content {
  min-width:0 !important;
  width:100% !important;
}
body.materialize-system .tt-next-panel-top .pa-next-date-title {
  display:block !important;
  max-width:100% !important;
  overflow:visible !important;
  white-space:nowrap !important;
  text-overflow:clip !important;
  color:#fff !important;
}
@media (max-width:767.98px) {
  body.materialize-system .tt-next-panel-top,
  body.materialize-system.tt-dashboard-body .tt-next-panel-top,
  body.materialize-system .tt-athlete-next-card {
    padding:16px !important;
    border-radius:18px !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-top {
    gap:8px !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-content {
    gap:9px !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-label {
    font-size:.78rem !important;
    gap:6px !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-label i {
    font-size:.86rem !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-date-title {
    font-size:clamp(.66rem,3vw,.78rem) !important;
    line-height:1.25 !important;
    letter-spacing:-.045em !important;
    font-weight:900 !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-countdown {
    font-size:.79rem !important;
    line-height:1.2 !important;
    letter-spacing:-.025em !important;
    white-space:nowrap !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-icon,
  body.materialize-system .tt-next-panel-top .tt-next-ring {
    width:48px !important;
    height:48px !important;
    min-width:48px !important;
    flex:0 0 48px !important;
  }
  body.materialize-system .tt-next-panel-top .tt-next-ring::before {
    inset:5px !important;
  }
  body.materialize-system .tt-next-panel-top .tt-next-ring::after {
    inset:10px !important;
  }
  body.materialize-system .tt-next-panel-top .tt-next-ring i {
    font-size:1.62rem !important;
  }
  body.materialize-system .tt-next-panel-top .pa-progress {
    height:7px !important;
    margin-top:13px !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-foot {
    margin-top:10px !important;
    gap:8px !important;
    font-size:.61rem !important;
    line-height:1.15 !important;
  }
}
@media (max-width:374.98px) {
  body.materialize-system .tt-next-panel-top .pa-next-date-title {
    font-size:.62rem !important;
    letter-spacing:-.052em !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-countdown {
    font-size:.73rem !important;
  }
  body.materialize-system .tt-next-panel-top .pa-next-icon,
  body.materialize-system .tt-next-panel-top .tt-next-ring {
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    flex-basis:44px !important;
  }
}


/* === PRODUTO 2026-06-06: mobile nav, PWA e feedback de carregamento === */
.tt-mobile-bottom-nav{display:none}
.tt-page-loading-bar{position:fixed;z-index:99999;top:0;left:0;width:0;height:3px;background:linear-gradient(90deg,#22c55e,#16a34a,#38bdf8);box-shadow:0 2px 9px rgba(34,197,94,.32);opacity:0;pointer-events:none;transition:width .6s ease,opacity .2s ease}
body.tt-is-navigating .tt-page-loading-bar{width:76%;opacity:1;animation:tt-loading-progress 2.4s ease-in-out infinite}
@keyframes tt-loading-progress{0%{width:12%}55%{width:78%}100%{width:94%}}
.tt-submit-loading{position:relative;opacity:.9}.tt-submit-loading::before{content:"";width:14px;height:14px;border:2px solid rgba(255,255,255,.54);border-top-color:#fff;border-radius:50%;animation:tt-spin .7s linear infinite}.tt-submit-loading i{display:none!important}@keyframes tt-spin{to{transform:rotate(360deg)}}
.tt-install-app-card{position:fixed;right:18px;bottom:18px;z-index:2400;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:min(430px,calc(100vw - 24px));padding:13px;border:1px solid rgba(34,197,94,.23);border-radius:18px;background:rgba(255,255,255,.98);box-shadow:0 18px 42px rgba(15,23,42,.18);opacity:0;transform:translateY(18px);transition:.24s ease;backdrop-filter:blur(14px)}
.tt-install-app-card.is-visible{opacity:1;transform:translateY(0)}.tt-install-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:#eafbf0;color:#16a34a;font-size:1.2rem}.tt-install-copy{display:grid;gap:3px;min-width:0}.tt-install-copy strong{color:#0b1d3a;font-size:.86rem;font-weight:900}.tt-install-copy small{color:#64748b!important;font-size:.72rem;line-height:1.35;font-weight:650}.tt-install-actions{display:flex;align-items:center;gap:6px}.tt-install-primary,.tt-install-close{border:0!important;cursor:pointer}.tt-install-primary{min-height:36px;padding:0 12px;border-radius:11px!important;background:#22c55e;color:#fff;font-size:.75rem;font-weight:850}.tt-install-close{display:grid;place-items:center;width:34px;height:34px;border-radius:11px!important;background:#f1f5f9;color:#64748b}
.tt-onboarding-reminder{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px;padding:14px 16px;border:1px solid rgba(34,197,94,.22);border-radius:18px;background:linear-gradient(135deg,#fff,#effdf4);box-shadow:0 10px 25px rgba(15,23,42,.05)}.tt-onboarding-reminder-copy{display:flex;align-items:center;gap:12px;min-width:0}.tt-onboarding-reminder-icon{display:grid;place-items:center;flex:0 0 auto;width:42px;height:42px;border-radius:14px;background:#dcfce7;color:#16a34a;font-size:1.15rem}.tt-onboarding-reminder strong{display:block;color:#0b1d3a;font-size:.9rem;font-weight:900}.tt-onboarding-reminder small{display:block;color:#64748b!important;font-size:.74rem;font-weight:650;line-height:1.3}.tt-onboarding-reminder .btn{white-space:nowrap}
@media(max-width:1199.98px){body.materialize-system .content-wrapper{padding-bottom:76px!important}.tt-modern-footer{padding-bottom:74px!important}.tt-mobile-bottom-nav{position:fixed;z-index:2050;right:10px;bottom:max(9px,env(safe-area-inset-bottom));left:10px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:6px;border:1px solid rgba(15,23,42,.10);border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 14px 36px rgba(15,23,42,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.tt-mobile-bottom-nav a,.tt-mobile-bottom-nav button{display:flex;min-width:0;min-height:50px;align-items:center;justify-content:center;flex-direction:column;gap:3px;border:0!important;border-radius:13px!important;background:transparent;color:#64748b!important;font-family:inherit;font-size:.61rem;font-weight:800;line-height:1;text-decoration:none;transition:.16s ease}.tt-mobile-bottom-nav i{font-size:1rem}.tt-mobile-bottom-nav :is(a,button).is-active,.tt-mobile-bottom-nav :is(a,button):hover{background:#eafbf0;color:#15803d!important}.tt-mobile-bottom-nav .is-locked{opacity:.48}.tt-install-app-card{right:12px;bottom:88px}.tt-onboarding-reminder{align-items:flex-start;flex-direction:column}.tt-onboarding-reminder .btn{width:100%}}
@media(max-width:420px){.tt-mobile-bottom-nav{right:7px;left:7px;bottom:max(7px,env(safe-area-inset-bottom));border-radius:16px}.tt-mobile-bottom-nav a,.tt-mobile-bottom-nav button{font-size:.57rem}.tt-install-app-card{right:8px;bottom:82px;width:calc(100vw - 16px);gap:9px;padding:11px}.tt-install-icon{width:38px;height:38px}.tt-install-primary{padding:0 9px}.tt-install-copy small{font-size:.66rem}}
