/* assets/css/style.css */
body {
    font-family: 'Montserrat', sans-serif;
    background-color: #f8f9fa;
    font-size: 0.9rem;
}

.info-card { border: none; border-radius: 15px; transition: transform 0.3s ease, box-shadow 0.3s ease; }
.info-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.1); }
.info-card .card-title { color: #004494; }

.hero-section { background-size: cover; background-position: center; color: white; padding: 6rem 1rem; text-align: center; position: relative; border-radius: 0 0 25px 25px; margin-bottom: 2rem; }
.hero-section::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); border-radius: 0 0 25px 25px; }
.hero-section .container { position: relative; z-index: 2; }

/* Estilos para a página de login do formando (CORRIGIDO) */
.login-container {
    max-width: 450px;
    margin: 3rem auto;
}
.login-card {
    border: none;
    border-radius: 10px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    padding: 1.5rem;
}
.login-card .card-title {
    font-weight: 700;
}
.numeric-keypad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px;
    justify-items: center;
}
.numeric-keypad button {
    font-size: 1.5rem;
    border-radius: 50%; /* Botões redondos */
    width: 55px;
    height: 55px;
    border: 1px solid #ddd;
    background-color: #fff;
    transition: background-color 0.2s, transform 0.1s;
}
.numeric-keypad button:hover {
    background-color: #e9ecef;
}
.numeric-keypad button:active {
    transform: scale(0.95);
}
#nif {
    text-align: center;
    font-size: 1.5rem;
    letter-spacing: 3px;
    font-weight: bold;
    background-color: #e9ecef !important;
}


.dashboard-card { transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; }
.dashboard-card .card-title { font-size: 0.8rem; text-transform: uppercase; font-weight: 700; }
.dashboard-card .card-text { font-size: 2.2rem; font-weight: 700; }
.dashboard-link, .dashboard-link:hover { text-decoration: none; color: white; }
.dashboard-link .dashboard-card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.15); }
.bg-purple { background-color: #6f42c1 !important; } /* Cor para o cartão do dashboard */
.badge-purple { color: #fff; background-color: #6f42c1; } /* Cor para o dístico na tabela */

.status-panel { border-left: 5px solid #007bff; padding: 2rem; background-color: #fff; border-radius: 8px; box-shadow: 0 4px 15px rgba(0,0,0,0.07); }
.status-panel .status-title { font-size: 1.3rem; font-weight: 700; margin-bottom: 1rem; color: #495057; }
.status-panel .status-badge { font-size: 1.1rem; padding: 0.6em 1em; font-weight: 700; }
.status-panel .status-message { margin-top: 1.5rem; font-size: 1rem; color: #6c757d; }

.alert-danger-custom { color: #721c24; background-color: #f8d7da; border-color: #f5c6cb; border-left: 5px solid #721c24; padding: 1.5rem; }
.alert-danger-custom .alert-heading { color: inherit; }

