﻿* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Body do login */
body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    font-family: 'Roboto', sans-serif;
    background-color: #f5f5f5;
    padding: 0 20px;
}

.login-wrapper {
    display: flex;
    flex-direction: column; /* empilha verticalmente */
    justify-content: center; /* centraliza verticalmente */
    align-items: center; /* centraliza horizontalmente */
    min-height: 100vh;
    background-color: #f5f5f5;
    padding: 20px;
    gap: 20px; /* espaço entre login-container e botões */
}

/* Container do login */
.login-container {
    width: 100%;
    max-width: 550px; /* largura máxima */
    min-width: 280px; /* largura mínima reduzida para mobile */
    padding: 40px 30px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.15);
}

    /* Título */
    .login-container h2 {
        text-align: center;
        margin-bottom: 30px;
        color: #333;
        font-size: 28px;
        font-weight: 700;
    }

    /* Formulário */
    .login-container form {
        display: flex;
        flex-direction: column;
    }

    /* Inputs */
    .login-container .textbox {
        margin-bottom: 20px;
    }

        .login-container .textbox input {
            width: 100%;
            padding: 16px 14px;
            font-size: 16px;
            border: 1px solid #ddd;
            border-radius: 8px;
            background-color: #f9f9f9;
            transition: border-color 0.3s;
        }

            .login-container .textbox input:focus {
                border-color: #5cb85c;
                outline: none;
                background-color: #fff;
            }

    /* Botão */
    .login-container .btn {
        width: 100%;
        padding: 16px;
        font-size: 16px;
        color: #fff;
        background-color: #5cb85c;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: background-color 0.3s;
    }

        .login-container .btn:hover {
            background-color: #4cae4c;
        }

    /* Esqueceu a senha */
    .login-container .forgot-password {
        text-align: center;
        margin-top: 15px;
    }

        .login-container .forgot-password a {
            color: #007bff;
            text-decoration: none;
            font-size: 14px;
        }

            .login-container .forgot-password a:hover {
                text-decoration: underline;
            }

/* Container de recuperação */
.recover-container {
    width: 100%;
    max-width: 550px;
    min-width: 280px;
    padding: 40px 30px;
    background-color: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.15);
}

    .recover-container h2 {
        text-align: center;
        margin-bottom: 30px;
        color: #333;
        font-size: 28px;
        font-weight: 700;
    }

    .recover-container p {
        text-align: center;
        margin-bottom: 20px;
        color: #555;
        font-size: 16px;
    }

    .recover-container form {
        display: flex;
        flex-direction: column;
    }

    .recover-container .textbox {
        margin-bottom: 20px;
    }

        .recover-container .textbox input {
            width: 100%;
            padding: 16px 14px;
            font-size: 16px;
            border: 1px solid #ddd;
            border-radius: 8px;
            background-color: #f9f9f9;
            transition: border-color 0.3s;
        }

            .recover-container .textbox input:focus {
                border-color: #5cb85c;
                outline: none;
                background-color: #fff;
            }

    .recover-container .erro {
        color: #ff0303;
    }

    .recover-container .sucesso {
        color: #4cae4c;
    }

    .recover-container .btn {
        width: 100%;
        padding: 16px;
        font-size: 16px;
        color: #fff;
        background-color: #5cb85c;
        border: none;
        border-radius: 8px;
        cursor: pointer;
        transition: background-color 0.3s;
    }

        .recover-container .btn:hover {
            background-color: #4cae4c;
        }

    .recover-container .back-login {
        text-align: center;
        margin-top: 15px;
    }

        .recover-container .back-login a {
            color: #007bff;
            text-decoration: none;
            font-size: 14px;
        }

            .recover-container .back-login a:hover {
                text-decoration: underline;
            }

/* Botão do formulário de cadastro */
.register-button-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap; /* permite quebrar linhas em telas pequenas */
    gap: 15px;
}

    .register-button-container .register-btn {
        display: inline-block;
        padding: 10px 20px;
        font-size: 16px;
        font-weight: 500;
        color: #fff;
        background-color: #007bff;
        border: 1px solid #007bff;
        border-radius: 8px;
        text-decoration: none;
        transition: background-color 0.3s, border-color 0.3s;
    }

        .register-button-container .register-btn:hover {
            background-color: #0069d9;
            border-color: #0062cc;
        }

        .register-button-container .register-btn i {
            margin-right: 8px;
        }

/* Badges */
.badge {
    padding: 5px 10px;
    border-radius: 5px;
    font-size: 0.9rem;
    display: inline-block;
    text-align: center;
}

.badge-success {
    background-color: #28a745;
    color: #fff;
}

.badge-error {
    background-color: #dc3545;
    color: #fff;
}

/* RESPONSIVO */
@media (max-width: 768px) {
    .login-container,
    .recover-container {
        padding: 30px 20px;
        max-width: 100%;
    }

        .login-container h2,
        .recover-container h2 {
            font-size: 24px;
        }

        .login-container .btn,
        .recover-container .btn {
            padding: 14px;
            font-size: 15px;
        }

    .register-button-container {
        gap: 10px;
    }

        .register-button-container .register-btn {
            width: 100%; /* botão ocupa toda largura */
            text-align: center;
        }
}

@media (max-width: 480px) {
    body {
        padding: 0 10px;
    }

    .login-container,
    .recover-container {
        padding: 25px 15px;
        min-width: unset;
        border-radius: 6px;
    }

        .login-container h2,
        .recover-container h2 {
            font-size: 20px;
            margin-bottom: 20px;
        }

        .login-container .btn,
        .recover-container .btn {
            padding: 12px;
            font-size: 14px;
        }

    .forgot-password a,
    .back-login a {
        font-size: 13px;
    }
}
