* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
    color:#b6bab9;
}


html{
    margin: 0;
    padding: 0;
    background: #181414; /* ou a cor padrão do seu layout */
}

body {
    background-color: #181414;
    display: block; /* Usar flexbox para centralizar */
    height: 100vh; /* Garantir que ocupe toda a altura da janela */
    padding-top: 0; /* Remover o espaço superior */
}


/* Conteúdo já existe, mas invisível enquanto estiver em preload */
#app-content {
    opacity: 0;
    transition: opacity 0.4s ease;
}

/* Quando tirar a classe preload do body, o conteúdo aparece suave */
body:not(.preload) #app-content {
    opacity: 1;
}

    /* Preloader ocupando a tela toda */
    #preloader {
        position: fixed;
        inset: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #000; /* bem Netflixão */
        z-index: 9999;
        overflow: hidden;
    }

    /* Wrapper do efeito */
.nf-loader-wrapper {
    position: relative;
    width: 220px;
    height: auto;              /* deixa a altura se ajustar ao conteúdo */
    display: flex;
    flex-direction: column;    /* empilha logo em cima, barra embaixo */
    align-items: center;
    justify-content: center;
}

    /* Logo */
    .nf-logo {
        position: relative;
        max-width: 140px;
        height: auto;
        z-index: 2;
        animation: nf-logo-pulse 2s infinite ease-in-out;
    }

    /* Glow atrás do logo */
    .nf-logo-glow {
        position: absolute;
        width: 260px;
        height: 260px;
        border-radius: 50%;
        background: radial-gradient(circle, rgba(255,0,0,0.35), transparent 60%);
        filter: blur(4px);
        z-index: 1;
        animation: nf-glow 3s infinite ease-in-out;
    }

    /* Barra embaixo (como se fosse um load) */
.nf-bar {
    position: relative;        /* NÃO absoluto */
    bottom: auto;
    left: auto;
    transform: none;
    width: 160px;
    height: 4px;
    background: #111;
    overflow: hidden;
    border-radius: 999px;
    margin-top: 18px;          /* distância da logo até a linha */
}


    .nf-bar::before {
        content: "";
        position: absolute;
        left: -40%;
        top: 0;
        width: 40%;
        height: 100%;
        background: linear-gradient(to right, #b31217, #e50914, #f40612);
        animation: nf-bar-move 1.2s infinite;
        border-radius: inherit;
    }

    /* Animações */

    @keyframes nf-logo-pulse {
        0%   { transform: scale(1);   opacity: 1; }
        50%  { transform: scale(1.05); opacity: 0.95; }
        100% { transform: scale(1);   opacity: 1; }
    }

    @keyframes nf-glow {
        0%   { transform: scale(1);   opacity: 0.8; }
        50%  { transform: scale(1.1); opacity: 1; }
        100% { transform: scale(1);   opacity: 0.8; }
    }

    @keyframes nf-bar-move {
        0%   { left: -40%; }
        50%  { left: 60%; }
        100% { left: 100%; }
    }
a {
    text-decoration: none;
}

/* Estilo do contêiner de navegação */
nav {
    width: 80px; /* Largura do menu fechado */
    position: fixed;
    top: 0;
    left: 0;
    background-color: #333;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 10px;
    transition: width 0.3s;
    z-index: 1000; /* Garante que o menu não sobreponha outros elementos do site */
}

/* Botão hambúrguer */
.hamburger {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #444; /* Cor padrão do botão */
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    margin-bottom: 20px;
    transition: background-color 0.3s, filter 0.3s;
}

.hamburger:hover {
    background-color: #555; /* Muda a cor de fundo do botão para a mesma cor do menu */
}

.hamburger:hover .hamburger-icon {
    filter: none; /* Remove o filtro para exibir o ícone dourado */
}

.menu-icon {
    width: 30px;
    height: 30px;
    transition: filter 0.3s;
    filter: brightness(0) invert(1); /* Exibe o ícone na cor branca */
}

.hamburger-icon {
    width: 30px;
    height: 30px;
    transition: filter 0.3s;
}

/* Lista de itens do menu */
.menu-vertical {
    list-style-type: none;
    padding: 0;
    margin: 0;
    width: 100%;
    text-align: center;
}

.menu-item {
    margin-bottom: 10px;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: all 0.3s ease;
    width: 100%;
    box-sizing: border-box;
}

.menu-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-decoration: none;
    color: inherit;
    width: 100%;
}

.menu-icon {
    width: 20px;
    height: 20px;
    transition: filter 0.3s;
    filter: brightness(0) invert(1); /* Ícone branco */
}

.menu-title {
    font-size: 12px;
    color: #fff;
    text-align: center;
    transition: font-size 0.3s, margin-left 0.3s, margin-top 0.3s;
}

.content {
   /* margin-left: 80px;  Espaço equivalente à largura do menu fechado */
    transition: margin-left 0.3s;
    margin-top: 0px;
}

nav.expanded {
    width: 200px;
}

.main-area {
    margin-left: 80px;
    transition: margin-left 0.3s;
}

nav.expanded ~ .main-area {
    margin-left: 200px;
}


nav.expanded + .content {
    margin-left: 200px; /* Ajusta o conteúdo para acompanhar o menu expandido */
}

nav.expanded .menu-item {
    flex-direction: column;
    justify-content: flex-start;
    padding-left: 20px;
}

nav.expanded .menu-item a {
    flex-direction: row;
    justify-content: flex-start;
}

nav.expanded .menu-icon {
    width: 30px;
    height: 30px;
    margin-right: 10px;
}

nav.expanded .menu-title {
    font-size: 18px;
    margin-left: 10px;
    text-align: left;
}

.menu-item:hover {
    background-color: #555;
}

.menu-item:hover .menu-title {
    color: #FFD700;
}

.menu-item:hover .menu-icon {
    filter: none; /* Cor original do ícone */
}

/* Submenu */
.submenu {
    display: none; /* Esconde o submenu por padrão */
    list-style-type: none;
    padding-left: 0;
    margin: 0; /* Remove a margem para que ele fique abaixo do item principal */
}

.submenu.show {
    display: block; /* Exibe o submenu quando necessário */
    position: relative; /* Permite que o submenu empurre os outros itens para baixo */
}

/* Itens do submenu */
.submenu li {
    padding-left: 0px; /* Deslocamento dos itens do submenu */
    padding-top: 10px;
}

/* Efeito hover para os itens do submenu */
.submenu li a {
    color: #fff;
    text-decoration: none;
    display: block;
    padding: 10px;
    transition: background-color 0.3s, color 0.3s;
}

.submenu li a:hover {
    background-color: #555; /* Cor de fundo ao passar o mouse */
    color: #FFD700; /* Cor da fonte ao passar o mouse */
}

/* Efeito hover nos itens principais */
.menu-item:hover .menu-title {
    color: #FFD700; /* Cor dourada para o título */
}

.menu-item:hover .menu-icon {
    filter: none; /* Remove o filtro invertido para mostrar a cor original */
}

/* Estilos específicos para a página de login */
.login-container {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 360px;

    padding: 32px 28px 26px;
    text-align: center;

    /* ★ Mantida a SUA cor original */
    background: rgba(32, 28, 36, 0.60);

    /* ★ Adicionando o efeito vidro igual ao modelo */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    /* ★ Borda suave de vidro */
    border-radius: 22px;
    border: 1px solid rgba(255, 255, 255, 0.18);

    /* ★ Sombra bonita */
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.5),
        0 0 25px rgba(0, 0, 0, 0.2);
}


.login-container::after {
    content: "";
    position: absolute;
    right: -60px;
    top: 50%;
    transform: translateY(-50%);
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255, 255, 255, 0.9), transparent 60%);
    opacity: 0.85;
    pointer-events: none;
}


.content-login {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 0;

    /* FUNDO APENAS NA TELA DE LOGIN */
    background: url("https://wallpapercave.com/wp/5DMx8Xb.jpg") no-repeat center center fixed;
    background-size: cover;
}

.content-login::before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.4),
        rgba(0,0,0,0.1),
        rgba(0,0,0,0.6)
    );
    z-index: -1;
}


.login-container h2 {
    margin-bottom: 20px;
    color:#b6bab9;
}

.login-container label {
    display: block;
    margin-bottom: 8px;
    text-align: left;
    color:#b6bab9;
}

.login-container input[type="text"],
.login-container input[type="password"] {
    width: 100%;
    padding: 12px 18px;
    border-radius: 30px;

    /* FUNDO TRANSPARENTE + VIDRO IGUAL AO EXEMPLO */
    background: rgba(255, 255, 255, 0.06);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    /* BORDA igual do modelo */
    border: 1px solid rgba(255, 255, 255, 0.25);

    /* TEXTO */
    color: #ffffff;
    font-size: 14px;

    /* TIRA O QUADRADO FEIO */
    outline: none;

    transition: border-color 0.3s ease, background 0.3s ease;
}

/* Placeholder igual ao modelo */
.login-container input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}

/* Efeito quando foca */
.login-container input:focus {
    border-color: #71e1ff; /* azul claro igual ao exemplo */
    background: rgba(255, 255, 255, 0.12);
}


.login-container button {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 14px;

    background: linear-gradient(145deg, #2f2f2f, #1c1c1c);
    color: #eaeaea;
    font-weight: 600;
    font-size: 15px;

    box-shadow: 0 3px 8px rgba(0,0,0,0.6),
                inset 0 0 0 rgba(255,255,255,0.15);

    transition: all 0.25s ease-in-out;
    cursor: pointer;
}

.login-container button:hover {
    background: linear-gradient(145deg, #3b3b3b, #1a1a1a);
    box-shadow: 0 5px 14px rgba(0,0,0,0.9);
    transform: translateY(-2px);
}

.login-container button:active {
    transform: translateY(1px);
    box-shadow: 0 3px 6px rgba(0,0,0,0.7);
}


/* Estilo para alinhar o checkbox com o texto Lembrar-me */
.login-remember label {
    display: flex; /* Usar flexbox para alinhar */
    align-items: center; /* Centralizar o checkbox verticalmente */
    color: #b6bab9; /* Cor do texto */
    cursor: pointer; /* Mostrar cursor de clique no label */
}

.login-remember input[type="checkbox"] {
    margin-left: 10px; /* Espaço entre o checkbox e o texto */
    width: 16px; /* Tamanho customizado do checkbox */
    height: 16px;
    cursor: pointer; /* Cursor de clique no checkbox */
}
.input-container {
    position: relative;
    margin-bottom: 20px;
}

.input-label {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    transition: all 0.3s ease;
    background: transparent; /* Manter fundo transparente inicialmente */
    color: #999; /* Cor padrão do rótulo */
    pointer-events: none; /* Evitar que o rótulo capture eventos */
}

/* Estilo para inputs em foco ou preenchidos */
input:focus + .input-label,
input:not(:placeholder-shown) + .input-label {
    top: -8px; /* Rótulo sobe */
    left: 10px;
    font-size: 12px; /* Tamanho reduzido */
    background: #181414;
    color: white; /* Cor do texto */
}

/* Rótulo dentro do input */
input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: border-color 0.3s; /* Efeito de transição */
    color:black;
}

/* Efeito de foco no input */
input:focus {
    border-color: #007BFF; /* Muda a borda ao focar */
    outline: none; /* Remove a borda padrão do navegador */
}


/* Estilo geral do formulário */
.cadastro-container {
    background-color: #201c24;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);    
    margin: 0px auto; /* Centraliza a listagem */
    max-width: 400px; /* Largura máxima da listagem */
    display: flex;
    flex-direction: column; /* Alinha os itens em coluna */
}

.filtro-container {
    background-color: #201c24;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);   
    min-width: 400px; /* Largura máxima da listagem */
    display: flex;
    flex-direction: column; /* Alinha os itens em coluna */
    height: 520px;
}

.filtro-container input,
.filtro-container select{
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: border-color 0.3s; /* Adiciona efeito ao focar */
color: black;
}

.headerelenco
{
    display: flex; /* Cor original do ícone */
}

/* Estilos para títulos */
.cadastro-container h2,
.filtro-container h2 {
    text-align: center;
    margin-bottom: 20px;
    color:#b6bab9;
}

/* Estilos para labels */
.cadastro-container label {
    margin-bottom: 8px;
    text-align: left;
    color:#b6bab9;
}

/* Estilos para inputs */
.cadastro-container input,
.cadastro-container select {
    width: 100%; /* Faz os inputs ocuparem toda a largura */
    padding: 10px;
    margin-bottom: 15px;
    border: 1px solid #ccc;
    border-radius: 4px;
    transition: border-color 0.3s; /* Adiciona efeito ao focar */
    color:black;
}

/* Estilo para o efeito de foco */
.cadastro-container input:focus,
.cadastro-container select:focus,
.filtro-container input:focus,
.filtro-container select:focus {
    border-color: #007BFF; /* Altera a borda ao focar */
    outline: none; /* Remove a borda padrão do navegador */
}

.filtro-list-container div{
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    margin: 0px auto; /* Centraliza a listagem */
    overflow-y: auto;
}

/* Estilos para o botão */
.cadastro-container button {
    padding: 10px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s; /* Efeito de transição */
}

/* Efeito de hover no botão */
.cadastro-container button:hover {
    background-color: #0056b3;
}

.error-message {
    color: red;
    margin-top: 10px;
    text-align: center;
}

.success-message {
    color: green;
    margin-top: 10px;
    text-align: center;
}

#password-feedback {
    font-size: 14px;
    margin-top: 5px;
}

/* Estilos para a listagem de usuários e estádios */
.user-list-container, .stadium-list-container, .list-container {
    background-color: #201c24;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    padding: 20px;
    margin: 0px auto; /* Centraliza a listagem */
    max-width: 800px; /* Largura máxima da listagem */
}

/* Estilos da tabela de usuários e estádios */
.user-list-container table, .stadium-list-container table, .list-container table{
    width: 100%;
    border-collapse: collapse;
    color: #b6bab9;
    text-align: center;
}

.user-list-container th, .user-list-container td,
.stadium-list-container th, .stadium-list-container td, 
.list-container th, .list-container td{
   padding: 10px;
    text-align: left;
}

.user-list-container th,
.stadium-list-container th,
.list-container th {
    background-color: #1a151d;
    text-align: center;
    color: #b6bab9;
    border-bottom: 1px solid #333;
}

/* Estilos para botões dentro da listagem de usuários e estádios */
.user-list-container button, .stadium-list-container button,
.list-container button {
    border: none;
    background-color: #28a745; /* Cor do botão de editar */
    color: white;
    cursor: pointer;
    border-radius: 4px; /* Bordas arredondadas */
}

.user-list-container button:hover, .stadium-list-container button:hover,
.list-container button:hover {
    background-color: #218838; /* Cor do botão ao passar o mouse */
}

.user-list-container h2, .stadium-list-container h2,
.list-container h2 {
    text-align: center; /* Centraliza o título */
    margin-bottom: 10px; /* Espaçamento abaixo do título */
    color: #b6bab9;
}

.user-list-container input,
.user-list-container select,
.stadium-list-container input,
.stadium-list-container select,
.list-container input,
.list-container select {
    width: 100%;
    padding: 8px 10px;
    margin-top: 10px;
    border-radius: 6px;
    border: 1px solid #444;
    background-color: #151316;
    color: #b6bab9;
    font-size: 13px;
    box-sizing: border-box;
    height: 38px;
}

.user-list-container input:focus,
.user-list-container select:focus,
.stadium-list-container input:focus,
.stadium-list-container select:focus,
.list-container input:focus,
.list-container select:focus {
    border-color: #007BFF;
    outline: none;
}

/* Estilos para a pesquisa */
.search-container {
    margin: 20px auto; /* Centraliza a pesquisa */
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.search-container h2 {
    text-align: center; /* Centraliza o título */
    margin-bottom: 10px; /* Espaçamento abaixo do título */
}


.search-container input {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    margin-right: 10px; /* Espaço entre o input e o botão */
    flex-grow: 1; /* Permite que o input cresça */
}

.search-container button {
    padding: 10px; /* Padding para o botão */
    background-color: #007BFF; /* Cor de fundo do botão */
    color: white; /* Cor do texto do botão */
    border: none; /* Remove a borda padrão do botão */
    border-radius: 4px; /* Arredondamento das bordas do botão */
    cursor: pointer; /* Cursor de mão ao passar por cima */
}

/* Efeito de hover no botão */
.search-container button:hover {
    background-color: #0056b3; /* Cor de fundo do botão ao passar o mouse */
}

#image-preview-area {
    display: flex;
    justify-content: center; /* Centraliza horizontalmente */
    align-items: center; /* Centraliza verticalmente */
    height: 300px; /* Ajuste a altura conforme necessário */
    width: 100%; /* Ocupa toda a largura do contêiner pai */
}

#image-preview-area img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Garante que a imagem se ajuste ao contêiner */
}

/* Outros estilos permanecem os mesmos */

/* Estilo da tabela e das ações */
.user-row, .stadium-row, .team-row {
    cursor: pointer;
    align-items: center; /* Alinha a imagem e o texto verticalmente */
}

.user-photo {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover; /* Garante que a imagem preencha o círculo */
    margin-right: 10px; /* Espaço entre a foto e o texto */
    vertical-align: middle;
    border: 2px solid #555;
}

.escudo-list {
    width: 30px;
    height: 30px;
    margin-right: 10px; /* Espaço entre a foto e o texto */
    vertical-align: middle;
}

.action-row {
    background-color: #333; /* Cor de fundo da linha de ação */
}

.action-row img {
    width: 20px;
    height: 20px;
    margin-right: 10px; /* Espaço entre a foto e o texto */
    vertical-align: middle;
}

.user-row:hover, .stadium-row:hover, .team-row:hover  {
    background-color: #555; /* Cor de fundo ao passar o mouse */
}

/* Paginação */
.pagination {
    display: flex;
    justify-content: center;
    margin-top: 20px;
}

.pagination a {
    margin: 0 5px;
    padding: 8px 12px;
    background-color: #007BFF;
    color: white;
    text-decoration: none;
    border-radius: 4px;
}

.pagination a:hover {
    background-color: #0056b3;
}

.pagination a.active {
    background-color: #0056b3;
    pointer-events: none; /* Desativa o link da página ativa */
}


/* ==========================
   DASHBOARD / BOAS-VINDAS
========================== */

.dashboard-wrapper {
    max-width: 960px;
    margin: 0 auto;
    padding: 16px 16px 0;
}

/* Título "Seja bem-vindo..." */
.boas-vindas-frase {
    margin: 0 0 12px 0;
    font-size: 1.4rem;
    font-weight: 600;
    text-align: center;
}

.boas-vindas-frase strong {
    font-weight: 800;
}

/* Container principal */
.boas-vindas {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 28px 32px;
    border-radius: 24px;
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 8px 28px rgba(0,0,0,0.3);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

/* FOTO CENTRALIZADA NO TOPO */
.foto-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* Card da foto */
.boas-vindas-foto {
    background: #ffffff;
    border-radius: 20px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.25);
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 160px;
}

.boas-vindas-foto img {
    width: 130px;
    height: 130px;
    border-radius: 16px;
    object-fit: cover;
    background: #eee;
}

/* Função (PRESIDENTE, ANALISTA etc.) */
.boas-vindas-funcao {
    margin-top: 8px;
    display: block;
    width: 130px;
    text-align: center;
    font-size: 13px;
    line-height: 16px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    color: #555;
    font-weight: 600;
}

/* WRAPPER QUE UNE OS DOIS CARDS (Último/Próximo jogo) */
.jogos-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column; /* mobile: empilhado */
    align-items: stretch;
    gap: 15px;
}

/* Cada card ocupa 100% no mobile */
.jogo-card {
    width: 100%;
}

/* DESKTOP ( > 900px ) */
@media (min-width: 900px) {
    .boas-vindas {
        flex-direction: column;
        align-items: center;
    }

    .jogos-wrapper {
        flex-direction: row;      /* lado a lado */
        justify-content: center;
        gap: 24px;
        width: 100%;
    }

    .jogo-card {
        flex: 1;
        max-width: 360px;
    }
}
/* ==========================
   ANIVERSARIANTES DO MÊS
========================== */

.birthday-strip {
    margin: 40px auto 0;
    max-width: 960px;
    color: #fff;
    text-align: center;  /* CENTRALIZA TUDO */
}

.birthday-strip h2 {
    font-size: 1rem;
    margin: 0 0 6px 0;
}

.birthday-strip .birthday-today {
    font-size: 0.9rem;
    margin: 0 0 8px 0;
    opacity: 0.9;
}

.birthday-scroller {
    display: flex;
    justify-content: flex-start; 
    gap: 14px;
    overflow-x: auto;
    padding: 6px 2px 4px;
    scroll-snap-type: x mandatory; /* OPCIONAL - feeling mais suave */
}

.birthday-item {
    scroll-snap-align: start; /* Cada card encaixa CERTINHO */
}

.birthday-item {
    flex: 0 0 auto;
    width: 80px;
    text-align: center;
}

.birthday-card {
    position: relative;
    width: 80px;
    height: 80px;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.birthday-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.birthday-card:hover {
    transform: scale(1.16);
    box-shadow: 0 0 14px #0008;
    z-index: 5;
}

.birthday-day-badge {
    position: absolute;
    top: 4px;
    left: 4px;
    background: rgba(0,0,0,0.75);
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 10px;
    font-weight: bold;
    display: flex;
    align-items: center;
    gap: 4px;
}

.birthday-name {
    margin-top: 4px;
    font-size: 11px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}

/* Destaque para aniversariante de HOJE */
.birthday-card.today {
    box-shadow: 0 0 12px rgba(255, 215, 0, 0.8);
    border: 2px solid rgba(255, 215, 0, 0.9);
}

.birthday-day-badge.today {
    background: linear-gradient(135deg, #ff9800, #ff5722);
}

.foto-usuario-container {
    width: 110px;
    height: 110px;
    margin: 0 auto 18px auto;

    border-radius: 50%;
    overflow: hidden;

    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(4px);

    border: 2px solid rgba(255, 255, 255, 0.2);

    box-shadow: 
        0 6px 18px rgba(0,0,0,0.5),
        0 0 0 4px rgba(255,255,255,0.05);
}

.foto-usuario {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* =======================
   NOVO LAYOUT DA BOAS-VINDAS
======================= */

/* Container principal */
.boas-vindas {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    padding: 28px 32px;
    border-radius: 24px;

    /* ★★ FUNDO DA CAIXA — VOLTOU ★★ */
    background: rgba(255, 255, 255, 0.05);
    box-shadow: 0 8px 28px rgba(0,0,0,0.3);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}


/* FOTO CENTRALIZADA NO TOPO */
.foto-wrapper {
    display: flex;
    justify-content: center;
    width: 100%;
}

/* WRAPPER DOS CARDS (mobile: empilhados) */
.jogos-wrapper {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 15px;
}

/* Cada card ocupa 100% no mobile */
.jogo-card {
    width: 100%;
}

/* =======================
   DESKTOP ( > 900px )
======================= */
@media (min-width: 900px) {

    /* Mantém a foto em cima */
    .boas-vindas {
        flex-direction: column;
        align-items: center;
    }

    /* Cards lado a lado */
    .jogos-wrapper {
        flex-direction: row;
        justify-content: center;
        gap: 24px;
        width: 100%;
    }

    .jogo-card {
        flex: 1;
        max-width: 360px; /* mantém equilíbrio entre os cards */
    }
}

/* ==========================
   PERFIL DO JOGADOR
========================== */

.perfil-wrapper {
    max-width: 980px;
    margin: 0 auto;
    padding: 32px 16px 40px;
}

.perfil-header-card {
    display: flex;
    flex-wrap: wrap;
    gap: 24px;
    align-items: flex-start;
    justify-content: center;
    margin-bottom: 24px;
}

/* FOTO + ÍCONES */
.perfil-foto-card {
    background: #ffffff;
    border-radius: 22px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.45);
    padding: 14px 16px 18px;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 180px;
}

.perfil-foto-img {
    width: 140px;
    height: 140px;
    border-radius: 18px;
    object-fit: cover;
background: #eee;
}

.perfil-actions {
    margin-top: 12px;
    display: flex;
    gap: 8px;
    align-items: center;
}

/* Ícones com link (dentro do <a>) */
.perfil-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Ícones sem link: a própria imagem vira “caixinha” */
.perfil-actions img.perfil-action-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Tamanho dos ícones: largura fixa, altura proporcional */
.perfil-action-icon {
    width: 22px;
    height: auto;
}

/* Versão "apagada" quando não tem link */
.perfil-action-icon-off {
    opacity: 0.35;
}


/* INFO TEXTO */
.perfil-info-card {
    min-width: 260px;
    color: #ffffff;
}

.perfil-info-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 6px 6px;
    font-size: 14px;
}

.perfil-info-label {
    font-weight: 600;
    text-align: right;
    padding-right: 10px;
    white-space: nowrap;
}

.perfil-base-icon {
    height: 22px;
    vertical-align: middle;
    margin-left: 6px;
}

.perfil-flag {
    height: 18px;
    vertical-align: middle;
    margin-right: 6px;
}

.perfil-estado-flag {
    height: 18px;
    vertical-align: middle;
    margin-left: 6px;
}

/* ALERTAS */
.perfil-alerta {
    color: #fff;
    margin-bottom: 24px;
    background: #e74c3c;
    padding: 20px;
    border-radius: 12px;
}

/* HISTÓRICO */
.perfil-history {
    margin-top: 8px;
}

.perfil-history .list-container {
    background: #151515;
    border-radius: 18px;
    padding: 20px;
    box-shadow: 0 10px 26px rgba(0,0,0,0.4);
}

.perfil-history-table {
    width: 100%;
    border-collapse: separate;  /* para não “colar” as bordas */
    border-spacing: 0;
    font-size: 13px;
}

/* Garante que NENHUMA borda apareça, mesmo se tiver regra global */
.perfil-history-table th,
.perfil-history-table td {
    border: 0 !important;
}

.perfil-history-table thead th {
    background: #101010;
    padding: 8px 6px;
    text-align: center;
    color: #f1f1f1;
}

.perfil-history-table tbody td {
    padding: 8px 6px;
}




.perfil-placar {
    text-align: center;
    font-weight: bold;
    white-space: nowrap; /* evita quebrar: 2 vs 2 */
}

/* Célula do placar na tabela de histórico */
.perfil-history-table td.perfil-placar {
    text-align: center !important;  /* força centralizar */
    font-weight: bold;
    white-space: nowrap;            /* evita quebrar em 2 linhas */
}


/* Zebra por classe, não por nth-child */
.perfil-history-table tr.linha-par {
    background: #1b1b1b;
}

.perfil-history-table tr.linha-impar {
    background: #202020;
}

/* Observação segue mesma cor da linha do jogo */
.perfil-observacao-row td {
    font-size: 12px;
    line-height: 1.4;
    padding: 8px 10px 10px;
    color: #e2e2e2;
}

/* Hover consistente em TODAS as linhas (jogo + observação) */
.perfil-history-table tr.linha-par:hover,
.perfil-history-table tr.linha-impar:hover {
    background: #333333 !important;
}


/* Nenhuma partida */
.perfil-sem-partidas {
    margin-top: 16px;
    background: #202020;
    border-radius: 16px;
    padding: 18px;
    text-align: center;
    color: #ffffff;
}

/* Ajuste da paginação colada no card */
.perfil-history + .pagination,
.perfil-wrapper .pagination {
    margin-top: 12px;
    display: flex;
    justify-content: center;
}

/* MOBILE */
@media (max-width: 900px) {
    .perfil-wrapper {
        padding-top: 20px;
    }

    .perfil-header-card {
        justify-content: center;
    }

    .perfil-info-label {
        text-align: left;
        padding-right: 4px;
    }

    .perfil-info-table {
        font-size: 13px;
    }
}

/* Zebra: bloco par / ímpar */
.perfil-history-table tr.linha-par {
    background: #1b1b1b;
}

.perfil-history-table tr.linha-impar {
    background: #202020;
}

/* Observação segue mesma cor da linha principal */
.perfil-observacao-row td {
    font-size: 12px;
    line-height: 1.4;
    padding: 8px 10px 10px;
    color: #e2e2e2;
}

/* Placar centralizado */
.perfil-history-table td.perfil-placar {
    text-align: center !important;
    font-weight: bold;
    white-space: nowrap;
}

/* Hover em grupo (classe aplicada via JS) */
.perfil-history-table tr.grupo-hover {
    background: #333333 !important;
}

/* Container geral */
.perfil-hist-recente {
    background: #201c24;
    padding: 20px;
    border-radius: 14px;
    box-shadow: 0 2px 10px #0004;
    color: #fff;
    width: 100%;
    max-width: 800px; /* EXATAMENTE igual ao .list-container */
    margin: 0 auto 28px auto; /* centraliza */
}


/* Título */
.perfil-hist-recente-titulo {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 14px;
    padding-left: 4px;
    border-left: 4px solid #3498db;
}

/* Lista */
.perfil-hist-recente-lista {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* Cada linha */
.perfil-hist-recente-item {
    display: flex;
    align-items: center;
    gap: 14px;
    background: #1a1a1a;
    padding: 10px 14px;
    border-radius: 10px;
    transition: 0.25s;
}

/* Hover */
.perfil-hist-recente-item:hover {
    background: #292929;
    transform: translateX(4px);
}

/* Ano */
.hist-ano {
    font-weight: bold;
    color: #4fa3ff;
    min-width: 70px;
    text-align: left;
    font-size: 15px;
}

/* Escudo */
.hist-escudo {
    width: 28px;
    height: 28px;
    object-fit: contain;
    border-radius: 4px;
}

/* Caso não tenha escudo */
.hist-escudo-vazio {
    width: 28px;
    height: 28px;
    background: #333;
    border-radius: 4px;
}

/* Nome do time */
.hist-time {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}

/* ==========================
   ELENCO – TABELA PRINCIPAL
========================== */

/* Container interno da tabela (vem do PHP como <div id="tabela-container">)  */
#tabela-container {
    overflow-y: auto;
    border-radius: 8px;
    background-color: #1a151d;  /* mesma cor do cabeçalho */
    border-radius: 8px;
}

/* Tabela do elenco (class="tabela-elenco") */
.tabela-elenco {
    width: 100%;
    border-collapse: collapse;
    color: #b6bab9;
    font-size: 13px;
}

/* Cabeçalho fixo ao rolar */
.tabela-elenco thead th {
    position: sticky;
    top: 0;
    background-color: #1a151d;  /* fundo fixo */
    z-index: 50;
    border-bottom: 2px solid #3a3240; /* LINHA QUE SEPARA E ACABA O PROBLEMA */
    padding: 10px 8px; /* aumenta a área do cabeçalho */

}


/* Células – tudo alinhado no centro vertical e com mesma borda */
/* Células – sem borda própria, só alinhamento */
.tabela-elenco th,
.tabela-elenco td {
    padding: 6px 8px;
    font-size: 13px;
    vertical-align: middle;
    background-clip: padding-box;

}

/* A borda passa a ser da LINHA inteira, e não de cada célula */
.tabela-elenco tbody tr {
    border-bottom: 1px solid #2b2530;
}


/* Hover só nas linhas de jogador */
.user-row:hover {
    background-color: #302735;
    cursor: pointer;
}

/* Foto + apelido com flex */
.apelido-cell {
    display: flex;
    align-items: center;
    gap: 8px;
}

/* Foto na tabela de elenco – tamanho fixo, redonda */
.apelido-cell .user-photo {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 0;
    border: 2px solid #555;
}

/* Apelido não quebrar feio */
.apelido-text {
    white-space: nowrap;
}

/* Coluna de links – já está como você gosta, só garantindo aqui também */
.links-column {
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Ícones: quadrado visual perfeito, mas mantendo proporção interna */
.link-icon {
    width: 22px;
    height: 22px;
    object-fit: contain;
    display: inline-block;
    vertical-align: middle;
}

/* Minutagem alinhada à direita */
.numeric-cell {
    text-align: right;
}

/* =========================================
   RESPONSIVIDADE DA PÁGINA ELENCO
========================================= */

/* Tablet / telas menores que ~1280px */
@media (max-width: 1280px) {

    /* Filtros + Tabela passam a ficar empilhados */
    .headerelenco {
        flex-direction: column;
        gap: 16px;
    }

    #filtros,
    #tabela {
        width: 100%;
    }

    /* Filtro ocupa largura total e pode crescer em altura */
    .filtro-container {
        min-width: 0;
        width: 100%;
        height: auto;
    }

    /* Card que envolve a tabela */
    .filtro-list-container div {
        width: 100%;
    }

    /* Estatísticas + gráfico também empilhados */
    #detalhes {
        flex-direction: column;
        gap: 16px;
    }

    #estatisticas {
        width: 100%;
        height: auto;
    }

    #proximos-detalhes {
        width: 100%;
        height: 280px;     /* altura do canvas em telas menores */
    }

    /* Tabela: scroll vertical + horizontal se precisar */
    #tabela-container {
        max-height: 360px;
        overflow-y: auto;
        overflow-x: auto;
    }

    /* Garante que as colunas não esmaguem demais */
    .tabela-elenco {
        min-width: 300px;  /* ajusta se quiser mais estreito/largo */
    }
}

/* Celular em pé (bem estreito) */
@media (max-width: 768px) {


    /* Filtros com menos padding pra caber melhor */
    .filtro-container {
        padding: 14px;
    }


}
/* ===== SLIDER DE IDADE ===== */

/* Barra */
#slider-idade.noUi-target {
    height: 8px !important;
    margin-top: 12px !important;
    border-radius: 4px;
    background: #444;
    border: none;
    box-shadow: inset 0 0 3px #000;
}

/* Parte selecionada */
#slider-idade .noUi-connect {
    background: #1e90ff;
}

/* Remove “garrinhas" */
#slider-idade .noUi-handle:before,
#slider-idade .noUi-handle:after {
    display: none !important;
}

/* Bolinhas */
#slider-idade .noUi-handle {
    width: 18px !important;
    height: 18px !important;
    border-radius: 50%;
    background: #fff;
    border: 2px solid #1e90ff;
    cursor: pointer;
    box-shadow: 0 0 6px rgba(0,0,0,0.3);
    top: -6px !important; /* centraliza verticalmente */
}
/* =====================================
   CARD "VISÃO GERAL" – ESTATÍSTICAS
===================================== */

#estatisticas {
    /* já existe .filtro-container, mas isso garante que o card não grude na borda */
    padding: 0;
}

.estat-card {
    background: #201c24;
    border-radius: 14px;
    padding: 18px 20px 16px;
    box-shadow: 0 8px 18px rgba(0,0,0,0.35);
    color: #f1f1f1;
}

.estat-title {
    font-size: 22px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 16px;
}

/* Bloco com os 3 indicadores principais */
.estat-resumo {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 16px;
}

.estat-item {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(255,255,255,0.03);
}

.estat-label {
    font-size: 13px;
    opacity: 0.85;
}

.estat-value {
    font-size: 16px;
    font-weight: 700;
}

.estat-value small {
    font-size: 11px;
    opacity: 0.8;
    margin-left: 4px;
}

/* Nacionalidades */
.estat-nac {
    margin-top: 6px;
}

.estat-subtitle {
    font-size: 13px;
    text-align: left;
    margin-bottom: 6px;
    opacity: 0.9;
}

.estat-nac-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
}

.estat-nac-table thead th {
    background: #151018;
    padding: 6px 8px;
    text-align: left;
    border-bottom: 1px solid #33293a;
}

.estat-nac-table tbody td {
    padding: 6px 8px;
    border-bottom: 1px solid #25202a;
}

.estat-nac-pais {
    display: flex;
    align-items: center;
    gap: 6px;
}

.estat-nac-qtd {
    text-align: right;
    white-space: nowrap;
}

.estat-nac-perc {
    opacity: 0.8;
    font-size: 11px;
    margin-left: 4px;
}

/* Em telas um pouco maiores, põe os 3 indicadores lado a lado */
@media (min-width: 768px) {
    .estat-resumo {
        flex-direction: row;
    }

    .estat-item {
        flex: 1;
    }
}

.headerelenco {
    display: flex;
    align-items: flex-start;
    gap: 16px;
}

#col-esquerda {
    width: 400px;
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
}

/* Filtros: altura natural */
#col-esquerda .filtro-container {
    width: 100%;
}

/* Área onde entra o HTML da Visão Geral */
#estatisticas {
    margin-top: 12px;
    flex: 1;                 /* ocupa todo o espaço que sobrar na coluna */
    display: flex;           /* para o card poder esticar dentro */
}

/* Card da Visão Geral preenche #estatisticas */
.estat-card {
    width: 100%;
    flex: 1;                 /* altura 100% dentro de #estatisticas */
    display: flex;
    flex-direction: column;
}

/* COLUNA DIREITA: tabela em cima, gráfico embaixo */
#col-direita {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Tabela fica com altura natural; se quiser, pode dar um max-height depois */
#tabela {
    width: 100%;
}

/* Gráfico ocupa o espaço disponível restante na coluna direita */
.grafico-container {
    margin-top: 16px;
    background-color: #201c24;
    border-radius: 8px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
    flex: 1;                 /* cresce junto com a coluna */
    min-height: 260px;       /* altura mínima pra não ficar achatado */
    padding: 12px;
}

/* Canvas preenchendo o card do gráfico */
#grafico-minutagem {
    width: 100% !important;
    height: 100% !important;
}

@media (max-width: 1280px) {

    /* Tudo empilhado no mobile/tablet */
    .headerelenco {
        flex-direction: column;
    }

    #col-esquerda,
    #col-direita {
        width: 100%;
    }

    .filtro-container {
        min-width: 0;
        width: 100%;
        height: auto;
    }

    .filtro-list-container div {
        width: 100%;
    }

    .grafico-container {
        height: 280px;
    }

    #tabela-container {
        max-height: 360px;
        overflow-y: auto;
        overflow-x: auto;
    }

    .tabela-elenco {
        min-width: 300px;
    }
}

/* ==========================
   BARRA SUPERIOR DE PESQUISA
========================== */

.top-search-bar {
    width: 100%;
    background: rgba(255,255,255,0.06);
    padding: 10px 18px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    position: sticky;
    top: 0;
    z-index: 900; /* abaixo do menu, acima do conteúdo */
    backdrop-filter: blur(4px);
}
.top-search-bar-custom {
    padding: 14px 24px;
}

.top-search-bar-custom .search-layout {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    width: 100%;
}

/* ================= SWITCH ================= */

.theme-switch {
    border: none;
    background: transparent;
    padding: 0;
    cursor: pointer;
    flex-shrink: 0;
}

.theme-switch-track {
    position: relative;
    width: 78px;
    height: 38px;
    border-radius: 999px;
    background: #2c2c2c;
    border: 1px solid rgba(255,255,255,0.12);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 10px;
    transition: all 0.25s ease;
    box-shadow: inset 0 2px 6px rgba(0,0,0,0.25);
}

.theme-switch-thumb {
    position: absolute;
    top: 3px;
    left: 4px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #ffffff;
    transition: all 0.25s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.25);
}

.theme-switch-label {
    position: relative;
    z-index: 1;
    font-size: 14px;
    line-height: 1;
    opacity: 0.85;
}

.theme-switch.active .theme-switch-track {
    background: #d7dbe2;
    border: 1px solid rgba(0,0,0,0.10);
    box-shadow: inset 0 2px 6px rgba(255,255,255,0.35);
}

.theme-switch.active .theme-switch-thumb {
    left: 44px;
    background: #111827;
}

/* ================= PESQUISA ================= */

.top-search-bar-custom .search-container-global {
    flex: 1;
    max-width: 420px;
    min-width: 260px;
}

/* ================= IDIOMA ================= */

.language-dropdown {
    position: relative;
    flex-shrink: 0;
}

.language-current {
    min-width: 210px;
    height: 44px;
    border: none;
    border-radius: 14px;
    padding: 0 14px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    background: rgba(255,255,255,0.08);
    border: 1px solid rgba(255,255,255,0.10);
    color: inherit;
}

.language-flag {
    width: 24px;
    height: auto;
    border-radius: 4px;
    flex-shrink: 0;
}

.language-user {
    font-weight: 600;
    font-size: 14px;
    max-width: 95px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.language-code {
    font-size: 13px;
    opacity: 0.75;
}

.language-arrow {
    margin-left: auto;
    font-size: 12px;
    opacity: 0.8;
}

.language-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 210px;
    border-radius: 14px;
    padding: 8px;
    display: none;
    flex-direction: column;
    gap: 4px;
    z-index: 1000;
    background: #1f1f1f;
    border: 1px solid rgba(255,255,255,0.10);
    box-shadow: 0 10px 30px rgba(0,0,0,0.25);
}

.language-dropdown.open .language-menu {
    display: flex;
}

.language-option {
    width: 100%;
    border: none;
    background: transparent;
    border-radius: 10px;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
    cursor: pointer;
    color: inherit;
    text-align: left;
}

.language-option:hover {
    background: rgba(255,255,255,0.08);
}

.language-option img {
    width: 22px;
    border-radius: 4px;
}

.search-container-global {
    position: relative;
    width: 100%;
    max-width: 500px;
}

.search-container-global input {
    width: 100%;
    padding: 10px 40px 10px 14px;
    border-radius: 14px;
    background: rgba(255,255,255,0.10);
    border: 1px solid rgba(255,255,255,0.15);
    color: white;
    font-size: 14px;
}

.search-container-global input::placeholder {
    color: #cccccc;
}

.search-icon {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 18px;
    opacity: 0.7;
}

/* RESULTADOS */
.search-results {
    position: absolute;
    top: 48px;
    width: 100%;
    max-height: 320px;
    overflow-y: auto;
    background: rgba(30, 30, 30, 0.92);
    border-radius: 12px;
    border: 1px solid #444;
    display: none;
    padding: 6px 0;
    z-index: 999;
}

.search-result-item {
    padding: 10px;
    display: flex;
    gap: 10px;
    align-items: center;
    cursor: pointer;
    transition: background 0.2s;
}

.search-result-item:hover {
    background: rgba(255,255,255,0.12);
}

.search-result-photo {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid #00000055;
}

.search-result-info {
    display: flex;
    flex-direction: column;
}

.search-result-info .nome {
    font-weight: bold;
    color: white;
    font-size: 14px;
}

.search-result-info .time {
    font-size: 12px;
    color: #bbbbbb;
}

.treinos-table {
    min-width: unset !important;
    width: 100% !important;
}

.menu-vertical {
    overflow-y: auto;
    max-height: calc(100vh - 100px); /* evita que o scroll invada a área do botão */
    padding-bottom: 20px;
}

@media (max-width: 768px) {
    .login-container input[type="text"],
    .login-container input[type="password"] {
        font-size: 16px;
        padding: 12px 18px;
    }
}

/* ==========================================
   TEMA CLARO
   COLAR NO FINAL DO style.css
========================================== */

html:has(body.light-mode),
body.light-mode {
    background: #f5f6f8;
}

body.light-mode {
    color: #1f2937;
}

/* texto global */
body.light-mode *,
body.light-mode .menu-item a,
body.light-mode .content,
body.light-mode .main-area {
    color: #1f2937;
}

/* preloader */
body.light-mode #preloader {
    background: #f5f6f8;
}

body.light-mode .nf-bar {
    background: #d6d9de;
}

/* menu lateral */
body.light-mode nav {
    background-color: #ffffff;
    border-right: 1px solid #e5e7eb;
    box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}

body.light-mode .hamburger {
    background-color: #f3f4f6;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);
}

body.light-mode .hamburger:hover {
    background-color: #e5e7eb;
}

body.light-mode .menu-title {
    color: #374151;
}

body.light-mode .menu-icon {
    filter: none;
}

body.light-mode .menu-item:hover {
    background-color: #f3f4f6;
}

body.light-mode .menu-item:hover .menu-title {
    color: #FFD700;
}

body.light-mode .submenu li a {
    color: #374151;
}

body.light-mode .submenu li a:hover {
    background-color: #eef2ff;
    color: #1d4ed8;
}

/* login */
body.light-mode .login-container {
    background: rgba(255, 255, 255, 0.78);
    border: 1px solid rgba(0, 0, 0, 0.10);
    box-shadow:
        0 20px 40px rgba(0, 0, 0, 0.12),
        0 0 25px rgba(0, 0, 0, 0.04);
}

body.light-mode .login-container h2,
body.light-mode .login-container label,
body.light-mode .login-remember label {
    color: #1f2937;
}

body.light-mode .login-container input[type="text"],
body.light-mode .login-container input[type="password"] {
    background: rgba(255, 255, 255, 0.88);
    border: 1px solid rgba(0, 0, 0, 0.12);
    color: #111827;
}

body.light-mode .login-container input::placeholder {
    color: #6b7280;
}

body.light-mode .login-container input:focus {
    border-color: #60a5fa;
    background: #ffffff;
}

body.light-mode .login-container button {
    background: linear-gradient(145deg, #f9fafb, #e5e7eb);
    color: #111827;
    box-shadow: 0 3px 8px rgba(0,0,0,0.10);
}

body.light-mode .login-container button:hover {
    background: linear-gradient(145deg, #ffffff, #dbe1e8);
    box-shadow: 0 5px 14px rgba(0,0,0,0.12);
}

/* inputs gerais */
body.light-mode input,
body.light-mode select,
body.light-mode textarea {
    background-color: #ffffff;
    color: #111827;
    border: 1px solid #d1d5db;
}

body.light-mode input:focus,
body.light-mode select:focus,
body.light-mode textarea:focus {
    border-color: #3b82f6;
}

body.light-mode .input-label {
    color: #6b7280;
}

body.light-mode input:focus + .input-label,
body.light-mode input:not(:placeholder-shown) + .input-label {
    background: #f5f6f8;
    color: #2563eb;
}

/* cards principais */
body.light-mode .cadastro-container,
body.light-mode .filtro-container,
body.light-mode .user-list-container,
body.light-mode .stadium-list-container,
body.light-mode .list-container,
body.light-mode .filtro-list-container div,
body.light-mode .grafico-container,
body.light-mode .estat-card {
    background-color: #ffffff;
    color: #1f2937;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
    border: 1px solid #e5e7eb;
}

body.light-mode .cadastro-container h2,
body.light-mode .filtro-container h2,
body.light-mode .cadastro-container label,
body.light-mode .user-list-container h2,
body.light-mode .stadium-list-container h2,
body.light-mode .list-container h2,
body.light-mode .estat-title,
body.light-mode .estat-subtitle,
body.light-mode .estat-label,
body.light-mode .estat-value,
body.light-mode .birthday-strip,
body.light-mode .birthday-strip h2,
body.light-mode .birthday-strip .birthday-today,
body.light-mode .birthday-name,
body.light-mode .boas-vindas-frase,
body.light-mode .perfil-info-card,
body.light-mode .perfil-sem-partidas {
    color: #1f2937;
}

/* tabelas padrão */
body.light-mode .user-list-container table,
body.light-mode .stadium-list-container table,
body.light-mode .list-container table,
body.light-mode .tabela-elenco,
body.light-mode .perfil-history-table,
body.light-mode .estat-nac-table {
    color: #1f2937;
}

body.light-mode .user-list-container th,
body.light-mode .stadium-list-container th,
body.light-mode .list-container th,
body.light-mode .tabela-elenco thead th,
body.light-mode .estat-nac-table thead th,
body.light-mode .perfil-history-table thead th {
    background-color: #f3f4f6;
    color: #111827;
    border-bottom: 1px solid #d1d5db;
}

body.light-mode .user-list-container td,
body.light-mode .stadium-list-container td,
body.light-mode .list-container td,
body.light-mode .estat-nac-table tbody td,
body.light-mode .perfil-history-table tbody td {
    color: #1f2937;
}

/* linha hover */
body.light-mode .user-row:hover,
body.light-mode .stadium-row:hover,
body.light-mode .team-row:hover,
body.light-mode .search-result-item:hover {
    background-color: #eef2f7;
}

/* action row */
body.light-mode .action-row {
    background-color: #f3f4f6;
}

/* paginação */
body.light-mode .pagination a {
    background-color: #2563eb;
    color: #ffffff;
}

body.light-mode .pagination a:hover,
body.light-mode .pagination a.active {
    background-color: #1d4ed8;
}

/* dashboard */
body.light-mode .boas-vindas {
    background: rgba(255, 255, 255, 0.82);
    box-shadow: 0 8px 28px rgba(0,0,0,0.08);
    border: 1px solid #e5e7eb;
}

body.light-mode .boas-vindas-foto,
body.light-mode .perfil-foto-card {
    background: #ffffff;
    box-shadow: 0 10px 24px rgba(0,0,0,0.10);
    border: 1px solid #e5e7eb;
}

body.light-mode .boas-vindas-foto img,
body.light-mode .perfil-foto-img {
    background: #f3f4f6;
}

body.light-mode .boas-vindas-funcao {
    color: #6b7280;
}

body.light-mode .foto-usuario-container {
    background: rgba(255, 255, 255, 0.88);
    border: 2px solid rgba(0, 0, 0, 0.08);
    box-shadow:
        0 6px 18px rgba(0,0,0,0.10),
        0 0 0 4px rgba(0,0,0,0.03);
}

/* aniversariantes */
body.light-mode .birthday-card.today {
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.35);
    border: 2px solid rgba(245, 158, 11, 0.7);
}

body.light-mode .birthday-day-badge {
    background: rgba(255,255,255,0.95);
    color: #111827;
    box-shadow: 0 2px 6px rgba(0,0,0,0.10);
}

/* perfil */
body.light-mode .perfil-alerta {
    color: #ffffff;
}

body.light-mode .perfil-history .list-container,
body.light-mode .perfil-hist-recente {
    background: #ffffff;
    color: #1f2937;
    border: 1px solid #e5e7eb;
    box-shadow: 0 10px 26px rgba(0,0,0,0.08);
}

body.light-mode .perfil-history-table tr.linha-par {
    background: #f9fafb;
}

body.light-mode .perfil-history-table tr.linha-impar {
    background: #f3f4f6;
}

body.light-mode .perfil-history-table tr.linha-par:hover,
body.light-mode .perfil-history-table tr.linha-impar:hover,
body.light-mode .perfil-history-table tr.grupo-hover {
    background: #e5e7eb !important;
}

body.light-mode .perfil-observacao-row td {
    color: #4b5563;
}

body.light-mode .perfil-sem-partidas {
    background: #ffffff;
    border: 1px solid #e5e7eb;
}

body.light-mode .perfil-hist-recente-titulo {
    color: #111827;
    border-left: 4px solid #2563eb;
}

body.light-mode .perfil-hist-recente-item {
    background: #f9fafb;
}

body.light-mode .perfil-hist-recente-item:hover {
    background: #eef2f7;
}

body.light-mode .hist-ano {
    color: #2563eb;
}

body.light-mode .hist-escudo-vazio {
    background: #d1d5db;
}

body.light-mode .hist-time {
    color: #1f2937;
}

/* elenco */
body.light-mode #tabela-container {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
}

body.light-mode .tabela-elenco tbody tr {
    border-bottom: 1px solid #e5e7eb;
}

body.light-mode .tabela-elenco .apelido-text,
body.light-mode .tabela-elenco td,
body.light-mode .tabela-elenco th {
    color: #1f2937;
}

body.light-mode .apelido-cell .user-photo,
body.light-mode .user-photo {
    border: 2px solid #d1d5db;
}

/* visão geral */
body.light-mode .estat-item {
    background: #f9fafb;
}

body.light-mode .estat-nac-table thead th {
    background: #f3f4f6;
}

body.light-mode .estat-nac-table tbody td {
    border-bottom: 1px solid #e5e7eb;
}

/* slider */
body.light-mode #slider-idade.noUi-target {
    background: #d1d5db;
    box-shadow: inset 0 0 3px rgba(0,0,0,0.08);
}

body.light-mode #slider-idade .noUi-connect {
    background: #2563eb;
}

body.light-mode #slider-idade .noUi-handle {
    background: #ffffff;
    border: 2px solid #2563eb;
    box-shadow: 0 0 6px rgba(0,0,0,0.12);
}

/* barra de pesquisa superior */
body.light-mode .top-search-bar {
    background: rgba(255,255,255,0.88);
    border-bottom: 1px solid #e5e7eb;
}

body.light-mode .search-container-global input {
    background: #ffffff;
    border: 1px solid #d1d5db;
    color: #111827;
}

body.light-mode .search-container-global input::placeholder {
    color: #6b7280;
}

body.light-mode .search-icon {
    color: #6b7280;
}

body.light-mode .search-results {
    background: rgba(255,255,255,0.98);
    border: 1px solid #d1d5db;
}

body.light-mode .search-result-info .nome {
    color: #111827;
}

body.light-mode .search-result-info .time {
    color: #6b7280;
}

body.light-mode .search-result-photo {
    border: 2px solid #d1d5db;
}

body.light-mode .language-current {
    background: rgba(255,255,255,0.92);
    border: 1px solid #d1d5db;
    color: #111827;
}

body.light-mode .language-menu {
    background: #ffffff;
    border: 1px solid #d1d5db;
    color: #111827;
}

body.light-mode .language-option:hover {
    background: #f3f4f6;
}

/* ================= RESPONSIVO ================= */

@media (max-width: 900px) {
    .top-search-bar-custom .search-layout {
        flex-wrap: wrap;
        justify-content: center;
    }

    .top-search-bar-custom .search-container-global {
        order: 3;
        width: 100%;
        max-width: 100%;
    }

    .language-current {
        min-width: 180px;
    }
}

/* ==============================
   RTL MODE (ÁRABE)
============================== */

.rtl-mode {
    direction: rtl;
}

/* Texto geral */
.rtl-mode p,
.rtl-mode h1,
.rtl-mode h2,
.rtl-mode h3,
.rtl-mode span {
    text-align: right;
}

/* Saudação */
.rtl-mode .boas-vindas-frase {
    text-align: right;
}

/* Container principal */
.rtl-mode .boas-vindas {
    flex-direction: row-reverse;
}

/* Cards de jogo */
.rtl-mode .jogos-wrapper {
    direction: rtl;
}

.rtl-mode .jogo-card {
    text-align: right;
}

/* Linha de jogo (times) */
.rtl-mode .jogo-card div[style*="display:flex"] {
    flex-direction: row-reverse !important;
}

/* Informações do jogo */
.rtl-mode .jogo-card div[style*="font-size:13px"] {
    text-align: right !important;
}

/* Aniversários */
.rtl-mode .birthday-strip h2 {
    text-align: right;
}

.rtl-mode .birthday-today {
    text-align: right;
}

/* Scroll aniversários */
.rtl-mode .birthday-scroller {
    direction: rtl;
}

/* Cards */
.rtl-mode .birthday-item {
    text-align: center; /* mantém centralizado */
}

/* Badge dia */
.rtl-mode .birthday-day-badge {
    left: auto;
    right: 6px;
}

/* Foto usuário */
.rtl-mode .foto-wrapper {
    align-items: flex-end;
}

/* Ajuste geral */
.rtl-mode .dashboard-wrapper {
    direction: rtl;
}

.rtl-mode .search-icon {
    right: auto;
    left: 12px;
}

/* ==========================================
   BASE REUTILIZÁVEL - PÁGINAS INTERNAS
   (mantida só onde não conflita com TREINOS)
========================================== */

.tabs-wrapper {
    width: 100%;
}

.tabs-nav {
    display: flex;
    gap: 8px;
    border-bottom: 1px solid #3a3442;
    margin-bottom: 18px;
    overflow-x: auto;
    padding-bottom: 2px;
}

.tabs-nav::-webkit-scrollbar {
    height: 6px;
}

.tab-btn {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 16px;
    border-radius: 10px 10px 0 0;
    text-decoration: none;
    color: #b6bab9;
    font-weight: 600;
    transition: .2s ease;
    white-space: nowrap;
    border: 1px solid transparent;
}

.tab-btn:hover {
    color: #ffffff;
    background: rgba(255,255,255,0.04);
}

.tab-btn.active {
    color: #ffffff;
    background: #232025;
    border-color: #3a3442;
}

.tab-btn.active::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -3px;
    height: 3px;
    background: #232025;
}

.user-texts {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.user-email-sub {
    font-size: 11px;
    color: #8f9594;
    line-height: 1.15;
}

body.light-mode .treinos-page .user-email-sub {
    color: #6b7280;
}

.tab-panel {
    display: none;
}

.tab-panel.active {
    display: block;
}

.bloco-card,
.filtros {
    background: #232025;
    border: 1px solid #3a3442;
    border-radius: 14px;
    padding: 18px 16px 16px;
    box-shadow: 0 0 18px rgba(0,0,0,.25);
}

.bloco-title,
.filtros-title {
    font-size: 20px;
    font-weight: 700;
    margin-bottom: 14px;
    color: #ffffff;
}

.field-help {
    margin-top: 4px;
    font-size: 11px;
    color: #9ca3af;
}

.filter-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 14px;
    align-items: flex-end;
}

.filter-group {
    flex: 1 1 220px;
    min-width: 0;
}

.filter-group.full {
    width: 100%;
    flex: 1 1 100%;
}

/* BOTÕES - PADRÃO TREINOS */
.filter-actions {
    display: flex;
    gap: 8px;
    align-items: flex-end;
    flex-wrap: wrap;
    margin-left: auto;
    padding-top: 18px;
}

.filter-actions .btn-primary,
.modal-actions .btn-primary,
.filter-actions button.btn-primary,
.modal-actions button.btn-primary {
    background: #16a34a;
    color: #ffffff;
    border: none;
    border-radius: 6px;
    height: 38px;
    min-height: 38px;
    padding: 0 14px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.filter-actions .btn-clear,
.modal-actions .btn-clear,
.filter-actions button.btn-clear,
.modal-actions button.btn-clear,
.filter-actions a.btn-clear,
.modal-actions a.btn-clear {
    background: #3b3b45;
    color: #e5e7eb;
    border: none;
    border-radius: 6px;
    height: 38px;
    min-height: 38px;
    padding: 0 14px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.filter-actions .btn-primary:hover,
.modal-actions .btn-primary:hover,
.filter-actions button.btn-primary:hover,
.modal-actions button.btn-primary:hover {
    filter: brightness(1.08);
}

.filter-actions .btn-clear:hover,
.modal-actions .btn-clear:hover,
.filter-actions button.btn-clear:hover,
.modal-actions button.btn-clear:hover,
.filter-actions a.btn-clear:hover,
.modal-actions a.btn-clear:hover {
    background: #4b5563;
}

/* FEEDBACK */
.feedback,
.modal-feedback {
    margin-bottom: 12px;
    font-size: 13px;
    font-weight: 600;
    display: none;
}

.feedback.success,
.modal-feedback.success {
    display: block;
    color: #22c55e;
}

.feedback.error,
.modal-feedback.error {
    display: block;
    color: #ef4444;
}

/* MODAL */
.modal-hidden {
    display: none;
}

.modal-hidden.active {
    display: flex;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, .72);
    justify-content: center;
    align-items: center;
    z-index: 9999;
    padding: 20px;
    box-sizing: border-box;
}

.modal-box {
    width: 100%;
    max-width: 980px;
    background: #232025;
    border-radius: 14px;
    padding: 18px 16px 16px;
    box-shadow: 0 0 18px rgba(0,0,0,.45);
    border: 1px solid #3a3442;
}

.modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 14px;
}

.modal-title {
    font-size: 22px;
    font-weight: 700;
    margin: 0;
    color: #ffffff;
}

.modal-close {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 26px;
    cursor: pointer;
    line-height: 1;
    padding: 0;
}

.modal-form-grid {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.modal-actions {
    margin-top: 12px;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

@media (max-width: 640px) {
    .tabs-nav {
        flex-wrap: nowrap;
    }

    .tab-btn {
        flex: 0 0 auto;
    }
}

/* ==========================================
   LIGHT MODE
========================================== */

body.light-mode .tabs-nav {
    border-bottom: 1px solid #d1d5db;
}

body.light-mode .tab-btn {
    color: #6b7280;
}

body.light-mode .tab-btn:hover {
    color: #111827;
    background: rgba(0,0,0,0.04);
}

body.light-mode .tab-btn.active {
    background: #ffffff;
    color: #111827;
    border-color: #d1d5db;
}

body.light-mode .tab-btn.active::after {
    background: #ffffff;
}

body.light-mode .bloco-card,
body.light-mode .filtros,
body.light-mode .modal-box {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    box-shadow: 0 8px 24px rgba(0,0,0,0.08);
}

body.light-mode .bloco-title,
body.light-mode .filtros-title,
body.light-mode .modal-title {
    color: #111827;
}

body.light-mode .filter-actions .btn-clear,
body.light-mode .modal-actions .btn-clear {
    background: #e5e7eb;
    color: #111827;
}

body.light-mode .filter-actions .btn-clear:hover,
body.light-mode .modal-actions .btn-clear:hover {
    background: #d1d5db;
}

body.light-mode .modal-hidden.active {
    background: rgba(0, 0, 0, .45);
}

/* ==========================================
   USUÁRIOS - PADRONIZAÇÃO VISUAL COM TREINOS
========================================== */

#usuarios-page-area .user-list-container,
.treinos-page .user-list-container {
    max-width: 1000px;
    margin: 0 auto;
}

#usuarios-page-area .tabs-wrapper {
    margin-bottom: 18px;
}

.treinos-page .usuarios-title {
    font-size: 12px;
    font-weight: 600;
    margin: 0 0 14px;
    color: inherit;
    text-align: center;
}

#usuarios-page-area .tab-panel.active > .filtros {
    margin-top: 18px;
}

#usuarios-page-area .tab-panel.active > #tabela-container {
    margin-top: 18px;
}

.treinos-page .tab-btn {
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
}

.treinos-page .bloco-title,
.treinos-page .filtros-title {
    font-size: 12px;
    font-weight: 600;
}

.treinos-page .form-group label,
.treinos-page .filter-group label,
.treinos-page .modal-form-grid label,
.treinos-page .field-help,
.treinos-page .feedback,
.treinos-page .modal-feedback,
.treinos-page .pagination span,
.treinos-page .pagination a,
.treinos-page .treinos-table th,
.treinos-page .treinos-table td,
.treinos-page .trainer-name,
.treinos-page .user-email-sub {
    font-size: 12px;
}

.treinos-page .trainer-photo {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
    border: 2px solid #555;
}

.treinos-page .trainer-info {
    display: flex;
    align-items: center;
    gap: 8px;
}

.treinos-page .trainer-cell {
    display: flex;
    align-items: center;
}

.treinos-page .user-texts {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.2;
}

body.light-mode .treinos-page .trainer-photo {
    border-color: #d1d5db;
}

.save-loading-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.72);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100000;
}

.save-loading-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 14px;
}

.save-loading-spinner {
    width: 42px;
    height: 42px;
    border: 4px solid rgba(255,255,255,0.18);
    border-top-color: #ffffff;
    border-radius: 50%;
    animation: saveSpin 0.8s linear infinite;
}

.save-loading-text {
    font-size: 14px;
    font-weight: 600;
    color: #ffffff;
}

@keyframes saveSpin {
    to {
        transform: rotate(360deg);
    }
}

body.light-mode .save-loading-overlay {
    background: rgba(255, 255, 255, 0.55);
    backdrop-filter: blur(2px);
}

body.light-mode .save-loading-spinner {
    border: 4px solid rgba(0,0,0,0.12);
    border-top-color: #111827;
}

body.light-mode .save-loading-text {
    color: #111827;
}

@media (max-width: 900px) {
    .treinos-page #tabela-container {
        max-height: none !important;
        overflow: visible !important;
        height: auto !important;
        background: transparent;
        border: none;
    }

    .treinos-page .treinos-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .treinos-page .treino-card {
        min-height: 200px;
    }
}

/* ==========================================
   LINEUP / ESCALAÇÃO DA PARTIDA
========================================== */

.lineup-page .user-list-container {
  max-width: 1160px;
  width: 100%;
  margin: 0 auto;
}

.lineup-page .bloco-card {
  width: 100%;
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

.lineup-match-header {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 18px;
  align-items: center;
}

.lineup-match-team {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 700;
  font-size: 16px;
  min-width: 0;
}

.lineup-match-team:first-child {
  justify-content: flex-start;
}

.lineup-match-team:last-child {
  justify-content: flex-end;
}

.lineup-match-team span {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.lineup-team-badge {
  width: 38px;
  height: 38px;
  object-fit: cover;
  flex-shrink: 0;
}

.lineup-match-meta {
  text-align: center;
  font-size: 13px;
  line-height: 1.6;
}

.lineup-page-subtitle {
  margin-bottom: 16px;
  color: #b6bab9;
}
.lineup-tabs-wrapper {
  margin-bottom: 18px;
}

.lineup-tabs-nav {
  display: flex;
  align-items: flex-end;
  gap: 0;
  border-bottom: 1px solid #3a3442;
  margin-bottom: 18px;
  padding-left: 2px;
}

.lineup-tabs-nav .tab-btn {
  appearance: none;
  border: 1px solid transparent;
  border-bottom: none;
  background: transparent;
  color: #8f939c;
  padding: 11px 18px 10px;
  margin: 0 4px 0 0;
  border-radius: 10px 10px 0 0;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  text-decoration: none;
  display: inline-block;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.lineup-tabs-nav .tab-btn:hover {
  color: #d7dbdf;
  background: rgba(255,255,255,0.03);
}

.lineup-tabs-nav .tab-btn.active {
  background: #232025;
  color: #ffffff;
  border-color: #3a3442;
  position: relative;
  cursor: default;
  pointer-events: none;
}

.lineup-tabs-nav .tab-btn.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: #232025;
}

body.light-mode .lineup-tabs-nav {
  border-bottom: 1px solid #d1d5db;
}

body.light-mode .lineup-tabs-nav .tab-btn {
  color: #6b7280;
}

body.light-mode .lineup-tabs-nav .tab-btn:hover {
  color: #111827;
  background: rgba(0,0,0,0.04);
}

body.light-mode .lineup-tabs-nav .tab-btn.active {
  background: #ffffff;
  color: #111827;
  border-color: #d1d5db;
}

body.light-mode .lineup-tabs-nav .tab-btn.active::after {
  background: #ffffff;
}
.lineup-page-grid {
  display: grid;
  grid-template-columns: 320px minmax(0, 1fr);
  gap: 18px;
  align-items: stretch;
  justify-content: start;
  width: 100%;
}

.lineup-left-column {
  width: 100%;
  max-width: 320px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  min-width: 0;
  align-self: start;
}

.lineup-players-panel {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
  padding: 14px;
  min-width: 0;
}

.lineup-summary-panel {
  flex: 0 0 auto;
}

.lineup-list-panel {
  flex: 1 1 auto;
}

.lineup-team-panel-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
}

.lineup-empty {
  color: #9ca3af;
  font-size: 13px;
}

.lineup-player-list {
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: flex-start;
  gap: 12px;
  max-height: 760px;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 6px;
  width: 100%;
}

.lineup-pool-player {
  flex: 1 1 calc(50% - 6px);
  max-width: calc(50% - 6px);
  min-width: 132px;
  display: flex;
  flex-direction: column;
  align-items: center;
  cursor: pointer;
  user-select: none;
  transition: transform .15s ease;
}

.lineup-pool-player:hover {
  transform: translateY(-2px);
}

.lineup-pool-player.selected .lineup-pool-player-circle {
  outline: 2px solid #2b6bff;
  background: rgba(43,107,255,0.18);
}

.lineup-pool-player-circle {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,0.18);
  background: rgba(255,255,255,0.08);
  box-shadow: 0 10px 24px rgba(0,0,0,0.28);
  display: flex;
  align-items: center;
  justify-content: center;
}

.lineup-pool-player-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lineup-pool-player-label {
  margin-top: -8px;
  min-width: 94px;
  max-width: 130px;
  padding: 8px 10px;
  border-radius: 14px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
  color: rgba(255,255,255,0.96);
  word-break: break-word;
}

.lineup-field-wrapper {
  width: 100%;
  min-width: 0;
  display: flex;
  height: 100%;
  align-items: stretch;
}

.lineup-field-card {
  width: 100%;
  min-width: 0;
  padding: 14px;
  border-radius: 22px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.08);
  display: flex;
  align-items: stretch;
  justify-content: stretch;
}

.lineup-field {
  position: relative;
  width: 100%;
  min-height: 720px;
  border-radius: 20px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(32, 122, 63, 0.96) 0%, rgba(25, 101, 52, 0.96) 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,0.08),
    inset 0 18px 35px rgba(255,255,255,0.03),
    inset 0 -18px 35px rgba(0,0,0,0.16);
}

.lineup-field::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    repeating-linear-gradient(
      to bottom,
      rgba(255,255,255,0.025) 0%,
      rgba(255,255,255,0.025) 8.333%,
      rgba(0,0,0,0.02) 8.333%,
      rgba(0,0,0,0.02) 16.666%
    );
  pointer-events: none;
}

.lineup-field-line {
  position: absolute;
  background: transparent;
  border-color: rgba(255,255,255,0.18);
  border-style: solid;
  pointer-events: none;
}

.lineup-outer-line {
  inset: 16px;
  border-width: 2px;
  border-radius: 18px;
}

.lineup-half-line {
  left: 16px;
  right: 16px;
  top: 50%;
  height: 0;
  border-top-width: 2px;
}

.lineup-center-circle {
  width: 20%;
  aspect-ratio: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-width: 2px;
  border-radius: 50%;
}

.lineup-center-spot {
  position: absolute;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255,255,255,0.75);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.lineup-box-top,
.lineup-box-bottom,
.lineup-goal-area-top,
.lineup-goal-area-bottom,
.lineup-penalty-spot-top,
.lineup-penalty-spot-bottom,
.lineup-arc-top,
.lineup-arc-bottom {
  position: absolute;
  pointer-events: none;
}

.lineup-box-top,
.lineup-box-bottom {
  left: 50%;
  transform: translateX(-50%);
  width: 36%;
  height: 13%;
  border: 2px solid rgba(255,255,255,0.18);
}

.lineup-box-top {
  top: 16px;
  border-radius: 0 0 14px 14px;
}

.lineup-box-bottom {
  bottom: 16px;
  border-radius: 14px 14px 0 0;
}

.lineup-goal-area-top,
.lineup-goal-area-bottom {
  left: 50%;
  transform: translateX(-50%);
  width: 18%;
  height: 6%;
  border: 2px solid rgba(255,255,255,0.18);
}

.lineup-goal-area-top {
  top: 16px;
  border-radius: 0 0 10px 10px;
}

.lineup-goal-area-bottom {
  bottom: 16px;
  border-radius: 10px 10px 0 0;
}

.lineup-penalty-spot-top,
.lineup-penalty-spot-bottom {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(255,255,255,0.72);
  left: 50%;
  transform: translateX(-50%);
}

.lineup-penalty-spot-top {
  top: 14%;
}

.lineup-penalty-spot-bottom {
  bottom: 14%;
}

.lineup-arc-top,
.lineup-arc-bottom {
  left: 50%;
  transform: translateX(-50%);
  width: 16%;
  height: 8%;
  border: 2px solid transparent;
}

.lineup-arc-top {
  top: 17.5%;
  border-top: none;
  border-left-color: rgba(255,255,255,0.18);
  border-right-color: rgba(255,255,255,0.18);
  border-bottom-color: rgba(255,255,255,0.18);
  border-radius: 0 0 120px 120px;
}

.lineup-arc-bottom {
  bottom: 17.5%;
  border-bottom: none;
  border-left-color: rgba(255,255,255,0.18);
  border-right-color: rgba(255,255,255,0.18);
  border-top-color: rgba(255,255,255,0.18);
  border-radius: 120px 120px 0 0;
}

.lineup-players-layer {
  position: absolute;
  inset: 0;
  z-index: 5;
}

.lineup-slot {
  position: absolute;
  transform: translate(-50%, -50%);
  width: 120px;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 6;
}

.lineup-slot-circle {
  width: 74px;
  height: 74px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  border: 2px dashed rgba(255,255,255,0.35);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-weight: 700;
  color: rgba(255,255,255,0.95);
  box-shadow: 0 10px 24px rgba(0,0,0,0.28);
}

.lineup-slot-label {
  margin-top: -10px;
  min-width: 96px;
  max-width: 130px;
  padding: 9px 12px;
  border-radius: 14px;
  background: rgba(255,255,255,0.10);
  border: 1px solid rgba(255,255,255,0.14);
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.1;
  color: rgba(255,255,255,0.96);
  word-break: break-word;
}

.lineup-slot.drag-over .lineup-slot-circle {
  border-color: #2b6bff;
  background: rgba(43,107,255,0.18);
}

.lineup-slot.occupied .lineup-slot-circle {
  border-style: solid;
  border-color: rgba(255,255,255,0.18);
  background: transparent;
  width: 86px;
  height: 86px;
  padding: 0;
  overflow: hidden;
}

.lineup-slot-player-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.lineup-slot-remove {
  appearance: none;
  border: none;
  background: rgba(0,0,0,0.65);
  color: #fff;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  cursor: pointer;
  position: absolute;
  top: -6px;
  right: 10px;
  z-index: 8;
}

.lineup-bench-blocks {
  display: grid;
  gap: 16px;
  margin-top: 16px;
  align-items: stretch;
}

.lineup-bench-card {
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px;
  padding: 14px;
  min-height: 170px;
}

.lineup-bench-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 12px;
}

.lineup-bench-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.lineup-bench-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 160px;
  padding: 8px 10px;
  border-radius: 12px;
  background: #151316;
  border: 1px solid #3a3442;
  color: #fff;
}

.lineup-bench-item img {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  object-fit: cover;
}

.lineup-bench-remove {
  margin-left: auto;
  appearance: none;
  border: none;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(0,0,0,0.55);
  color: #fff;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}

body.light-mode .lineup-page-subtitle,
body.light-mode .lineup-empty {
  color: #6b7280;
}

body.light-mode .lineup-players-panel,
body.light-mode .lineup-field-card,
body.light-mode .lineup-bench-card {
  background: #ffffff;
  border-color: #e5e7eb;
}

body.light-mode .lineup-team-switch-btn {
  background: #f9fafb;
  color: #111827;
  border-color: #d1d5db;
}

body.light-mode .lineup-team-switch-btn.active {
  background: #2b6bff;
  border-color: #2b6bff;
  color: #fff;
}

body.light-mode .lineup-pool-player-circle {
  background: #ffffff;
  border-color: #d1d5db;
}

body.light-mode .lineup-pool-player-label {
  background: #f9fafb;
  color: #111827;
  border-color: #d1d5db;
}

body.light-mode .lineup-bench-item {
  background: #f9fafb;
  color: #111827;
  border-color: #d1d5db;
}

body.light-mode .lineup-slot-remove,
body.light-mode .lineup-bench-remove {
  background: rgba(17,24,39,0.82);
  color: #fff;
}

@media (max-width: 1280px) {
  .lineup-page .user-list-container,
  .lineup-page .bloco-card {
    max-width: 1080px;
  }

  .lineup-page-grid {
    grid-template-columns: 300px minmax(0, 1fr);
    gap: 16px;
  }

  .lineup-left-column {
    max-width: 300px;
  }
}

@media (max-width: 1200px) {
  .lineup-page-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .lineup-left-column {
    max-width: 100%;
  }

  .lineup-player-list {
    max-height: 320px;
  }

  .lineup-pool-player {
    flex: 1 1 calc(25% - 9px);
    max-width: calc(25% - 9px);
    min-width: 120px;
  }

  .lineup-field {
    min-height: 640px;
    height: 640px;
  }

  .lineup-bench-blocks {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .lineup-match-header {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .lineup-match-team:first-child,
  .lineup-match-team:last-child {
    justify-content: center;
  }

  .lineup-field {
    min-height: 640px;
    height: 640px;
  }
}

@media (max-width: 700px) {
  .lineup-pool-player {
    width: calc(50% - 6px);
  }

  .lineup-field-card {
    padding: 12px;
  }

  .lineup-field {
    min-height: 560px;
    height: 560px;
    border-radius: 18px;
  }

  .lineup-slot {
    width: 100px;
  }

  .lineup-slot-circle {
    width: 62px;
    height: 62px;
  }

  .lineup-slot.occupied .lineup-slot-circle {
    width: 72px;
    height: 72px;
  }

  .lineup-slot-label {
    min-width: 82px;
    max-width: 108px;
    font-size: 11px;
    padding: 7px 9px;
  }
}

.lineup-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}

.lineup-modal-card {
  width: 100%;
  max-width: 720px;
  background: #151316;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 22px;
  box-shadow: 0 22px 60px rgba(0,0,0,0.45);
  overflow: hidden;
}

.lineup-modal-header,
.lineup-modal-footer {
  padding: 16px 18px;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.lineup-modal-footer {
  border-bottom: none;
  border-top: 1px solid rgba(255,255,255,0.06);
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.lineup-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.lineup-modal-title {
  font-size: 18px;
  font-weight: 800;
  color: #fff;
}

.lineup-modal-subtitle {
  margin-top: 4px;
  font-size: 13px;
  color: #cbd5e1;
}

.lineup-modal-close {
  appearance: none;
  border: none;
  background: rgba(255,255,255,0.08);
  color: #fff;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-size: 20px;
  cursor: pointer;
}

.lineup-modal-body {
  padding: 18px;
}

.lineup-modal-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.lineup-modal-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.lineup-modal-field-full {
  grid-column: 1 / -1;
}

.lineup-modal-field label,
.lineup-modal-checkbox span {
  font-size: 13px;
  font-weight: 700;
  color: #e5e7eb;
}

.lineup-modal-field input,
.lineup-modal-field select,
.lineup-modal-field textarea {
  width: 100%;
  border: 1px solid #3a3442;
  background: #0f0d11;
  color: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 14px;
}

.lineup-modal-field textarea {
  resize: vertical;
  min-height: 110px;
}

.lineup-modal-checkbox {
  justify-content: flex-end;
}

.lineup-modal-checkbox label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 42px;
}

body.light-mode .lineup-modal-card {
  background: #ffffff;
  border-color: #e5e7eb;
}

body.light-mode .lineup-modal-title {
  color: #111827;
}

body.light-mode .lineup-modal-subtitle,
body.light-mode .lineup-modal-field label,
body.light-mode .lineup-modal-checkbox span {
  color: #374151;
}

body.light-mode .lineup-modal-field input,
body.light-mode .lineup-modal-field select,
body.light-mode .lineup-modal-field textarea {
  background: #f9fafb;
  color: #111827;
  border-color: #d1d5db;
}

body.light-mode .lineup-modal-close {
  background: #f3f4f6;
  color: #111827;
}

@media (max-width: 700px) {
  .lineup-modal-grid {
    grid-template-columns: 1fr;
  }
}

.lineup-modal-backdrop[hidden] {
  display: none !important;
}