/* Reset e base */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body, html {
    width: 100%;
    height: 100%;
    background-color: #FFFEF9;
}

.container {
    display: flex;
    width: 100vw;
    height: 100vh;
    position: relative;
    overflow: hidden;
}

/* Fundo metade amarelo no desktop/tablet */
.fundo-amarelo {
    background-color: #FFBA00;
    width: 50%;
    height: 100%;
    position: relative;
}

/* Decorações */
.decor-fire-left {
    position: absolute;
    left: 165px;
    top: 64px;
    width: auto;
    z-index: 0;
    pointer-events: none;
    height: auto;
}

.decor-fire-right {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: auto;
    z-index: 0;
    pointer-events: none;
    opacity: 0.06; /* controle a intensidade */
}

/* CARD DESKTOP (centro da tela) - LOGIN */
.card-login {
    background-color: #ffffff;
    width: 539px;
    padding: 40px;
    border-radius: 40px;
    box-shadow: 0px 4px 35px rgba(0, 0, 0, 0.08);
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* CARD DESKTOP (centro da tela) - UPLOAD */
.card-upload {
    background-color: #ffffff;
    width: 500px;
    border-radius: 40px;
    box-shadow: 0px 4px 35px rgba(0, 0, 0, 0.08);
    padding: 32px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
}

.logo img {
    width: 150px;
    height: auto;
    margin-bottom: 30px;
}

.texto-topo {
    text-align: center;
    margin-bottom: 30px;
}

.texto-topo .bem-vindo {
    font-size: 20px;
    font-weight: 400;
    color: black;
}

.texto-topo .bem-vindo .marca {
    color: #FFBA00;
    font-weight: 700;
}

.texto-topo h1 {
    font-size: 45px;
    font-weight: 500;
    margin-top: 5px;
    color: #000;
}

form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

/* Específico para inputs da tela de revisão */
.input-jogador {
    border: 1px solid #ADADAD;
    border-radius: 9px;
    padding: 0 12px;
    font-size: 14px;
    color: #333;
    height: 48px;
    transition: border 0.2s ease;
}

/* Borda amarela no foco */
.input-jogador:focus {
    border: 2px solid #FFBA00 !important;
    outline: none !important;
}

.input-group {
    display: flex;
    flex-direction: column;
    position: relative;
}

.input-group label {
    font-size: 16px;
    color: #000;
    margin-bottom: 8px;
}

.input-group input {
    height: 57px;
    padding: 0 16px;
    border-radius: 9px;
    border: 1px solid #ADADAD;
    font-size: 14px;
    color: #333;
}

/* foco padrão dos inputs de login */
.input-group input:focus {
    border: 1px solid #FFBA00;
    outline: none; /* Remove aquela borda azul padrão */
}

.icone-senha {
    width: 22px;
    height: auto;
    position: absolute;
    right: 16px;
    top: 45px;
    cursor: pointer;
}

.btn-entrar {
    height: 54px;
    background-color: #FFBA00;
    color: white;
    font-size: 16px;
    font-weight: 500;
    border: none;
    border-radius: 10px;
    box-shadow: 0px 4px 19px rgba(119, 147, 65, 0.30);
    cursor: pointer;
    transition: background 0.3s ease;
}

/* Aumentar tamanho do ícone de calendário (date) */
input[type="date"]::-webkit-calendar-picker-indicator {
    width: 24px; /* ajuste aqui o tamanho desejado */
    height: 24px;
    cursor: pointer;
    opacity: 0.6; /* visibilidade do ícone */
}

/* Aumentar tamanho do ícone de relógio (time) */
input[type="time"]::-webkit-calendar-picker-indicator {
    width: 24px;
    height: 24px;
    cursor: pointer;
    opacity: 0.6;
}

.btn-entrar:hover {
    background-color: #e6a600;
}

/* 🔴 Mensagem de erro do login */
.login-error {
    width: 100%;
    background: #ff3b30;
    padding: 12px 18px;
    color: #fff;
    font-size: 15px;
    border-radius: 10px;
    text-align: center;
    font-weight: 500;
    margin: 10px 0 18px 0;
    animation: fadeIn 0.25s ease-out;
}

@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(-4px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* ===================================================================
   ESTILOS ESPECÍFICOS DO UPLOAD
   =================================================================== */

/* linha de data + hora */
.linha-inputs {
    display: flex;
    gap: 10px;
    width: 100%;
    margin-top: 25px;
    margin-bottom: 5px;
}

.linha-inputs .input-group {
    flex: 1;
}

/* 🔹 NOVO: input de data/hora exclusivo do mobile */
.input-mobile {
    display: none;
}

/* preview de arquivos (desktop/tablet) – AGORA ESCONDIDO PRA NÃO DUPLICAR TEXTO */
.file-preview {
    margin-top: 16px;
    font-size: 12px;
    color: #777;
    display: none; /* 🔹 Esconde o texto "X imagens selecionadas" de baixo */
}

/* botões do upload (desktop/tablet) */
.botoes-upload {
    display: flex;
    gap: 10px;
    width: 100%;
    justify-content: center;
    margin-top: 0px;
}

.clear-btn {
    background: #e0e0e0;
    color: #333;
}

/* estado visual da área de drop quando arrastando */
.drop-area.drag-over {
    background-color: rgba(255, 186, 0, 0.1);
}

/* Logo centralizada no upload */
.logo-wrapper {
    width: 100%;
    display: flex;
    justify-content: center;
    margin-bottom: -10px;
}

.logo-wrapper img {
    display: block;
    height: 120px;
}

/* Botão logout no topo direito do card */
.logout-link {
    position: absolute;
    top: 24px;
    right: 24px;
    font-size: 12px;
    color: #999;
    text-decoration: none;
    border: 1px solid #ddd;
    padding: 6px 30px;
    border-radius: 999px;
    transition: 0.15s ease;
    background: #ffffff;
}

.logout-link:hover {
    background: #ffe5a3;
    border-color: #ffba00;
    color: #333;
}

/* ===================================================================
   RESPONSIVIDADE
   =================================================================== */

/* Tablet e notebooks menores: mantém layout, garante altura cheia */
@media (min-width: 601px) and (max-width: 1024px) {
    .container {
        height: 100vh;
    }

    .card-login,
    .card-upload {
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); /* centro exato */
    }
}

/* ===================================================================
   MOBILE – card centralizado + fundo branco + logo sombra suave
   =================================================================== */
@media (max-width: 600px) {

    html,
    body {
        height: 100%;
        margin: 0;          /* tira a margem padrão do body */
        padding: 0;
        background-color: #FFFEE9;
    }

    .container {
        position: relative;
        width: 100%;
        min-height: 100vh;
        padding: 0 16px;
        background-color: #FFFEE9;

        display: flex;
        flex-direction: column;   /* eixo vertical */
        justify-content: center;  /* CENTRALIZA VERTICALMENTE */
        align-items: center;      /* CENTRALIZA HORIZONTALMENTE */
        overflow: hidden;
    }

    /* Fundo amarelo deixa de dividir tela e vira base da sombra */
    .fundo-amarelo {
        position: absolute;
        inset: 0;
        background-color: transparent;
        pointer-events: none;
        z-index: 0;
    }

    /* Logo gigante de fundo — não interfere no layout */
    .decor-fire-left {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 650px;
        opacity: 1;
        filter: blur(1px);
        z-index: 0;
        pointer-events: none;
    }

    /* Some fundo branco lateral e a sombra direita */
    .fundo-branco,
    .decor-fire-right {
        display: none;
    }

    /* CARD CENTRAL — login e upload */
    .card-login,
    .card-upload {
        position: relative;
        z-index: 2;
        background-color: #ffffff;
        width: 100%;
        max-width: 420px;
        border-radius: 28px;
        padding: 32px 24px 36px;
        box-shadow: 0px 4px 25px rgba(0, 0, 0, 0.08);
        margin: 0 auto;

        /* Zera herança do desktop */
        top: auto;
        left: auto;
        transform: none;
    }

    .logo img {
        width: 120px;
        margin-bottom: 20px;
    }

    .bem-vindo {
        font-size: 16px;
        text-align: center;
    }

    .titulo-login {
        font-size: 28px;
        text-align: center;
        margin-bottom: 16px;
    }

    form {
        width: 100%;
        gap: 16px;
    }

    .input-group input {
        height: 52px;
        font-size: 15px;
    }

    /* Data e horário no mobile: layout original da linha,
       mas vai ser escondido pela classe .inputs-desktop */
    .linha-inputs {
        display: grid;
        grid-template-columns: 1fr 1fr; /* duas colunas iguais */
        column-gap: 8px;               /* espaço entre data e hora */
        max-width: 360px;              /* largura máxima da linha */
        width: 100%;
        margin: 8px auto 8px;          /* centraliza dentro do card */
    }

    .linha-inputs .input-group {
        width: 100%;
    }

    .linha-inputs .input-group input {
        width: 100%;
        height: 46px;
        font-size: 14px;
        box-sizing: border-box;
    }

    /* 🔹 NOVO: troca inputs de data/hora por campo único no mobile */
    .inputs-desktop {
        display: none !important;
    }

    .input-mobile {
        display: block !important;
        width: 100%;
        max-width: 360px;
        margin: 8px auto 8px;
    }

    .input-mobile input {
        width: 100%;
        height: 46px;
        font-size: 15px;
        padding: 0 16px;
        border-radius: 9px;
        border: 1px solid #ADADAD;
        box-sizing: border-box;
    }

    .input-mobile input:focus {
        border: 1px solid #FFBA00;
        outline: none;
    }

    #togglePassword {
        width: 24px;
    }

    .btn-entrar {
        height: 50px;
        font-size: 16px;
    }

    .login-error {
        font-size: 14px;
        padding: 12px;
        border-radius: 12px;
        margin-bottom: 16px;
    }

    /* Área de upload mais compacta no mobile */
    .drop-area label {
        padding: 28px 16px !important;
    }

    /* Ícone menor no mobile */
    .drop-area img {
        width: 32px !important;
        height: 32px !important;
        margin-bottom: 6px;
    }

    /* Texto da área de upload mais compacto */
    #dropText {
        font-size: 14px;
        line-height: 1.3;
        text-align: center;
    }

    /* Preview menor no mobile (continua oculto por display:none) */
    .file-preview {
        font-size: 13px;
        margin-top: 8px;
    }

    /* Botões do upload lado a lado no mobile */
    .botoes-upload {
        flex-direction: row;
        gap: 8px;
        margin-top: 12px;
    }

    .botoes-upload .btn-entrar {
        min-width: unset !important;
        flex: 0 0 48% !important;
        height: 48px;
        font-size: 15px;
        padding: 0;
    }

    /* Ajustes finos da logo de fundo no mobile */
    .decor-fire-left {
        top: 50%;      /* ajuste fino se quiser: 45%, 55%, etc. */
        width: 650px;
        opacity: 0.20; /* ajuste de intensidade */
    }
}

/* ===========================
   RODAPÉ FIREMETRICS CENTRALIZADO
=========================== */

.fm-footer {
    position: absolute;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%);

    width: 100%;
    max-width: 540px;

    display: flex;
    flex-direction: column; /* AGORA TUDO EM COLUNA */
    align-items: center;    /* CENTRALIZA */
    text-align: center;
    gap: 10px;

    font-size: 13px;
    color: #333;
    z-index: 5; /* acima dos fundos */
}

/* ÍCONE DO INSTAGRAM */
.fm-footer-instagram {
    width: 30px;
    height: 30px;
    border-radius: 999px;

    background: #ffffff;
    border: 1px solid #ddd;

    display: flex;
    align-items: center;
    justify-content: center;

    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    transition: 0.2s ease;
}

.fm-footer-instagram:hover {
    background: #ffe7b3;
    border-color: #ffba00;
}

/* Ícone */
.fm-ig-icon {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: #333;
    stroke-width: 1.6;
}

/* Texto Desenvolvido por */
.fm-footer-dev {
    font-size: 14px;
    color: #333;
}

/* Logo + texto inferior */
.fm-footer-meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #555;
}

.fm-footer-logo {
    height: 18px;
    width: auto;
}

.fm-footer .reg {
    font-size: 10px;
    vertical-align: super;
}

/* MOBILE – deixa mais compacto */
@media (max-width: 600px) {
    .fm-footer {
        bottom: 18px;
        max-width: 300px;
        gap: 8px;
    }
}
