:root {
    --fonte-principal: 'Montserrat', sans-serif;
}

.fundo {
    min-height: 100vh; /* Use min-height em vez de height fixo */
    width: 100vw;
    display: flex;
    flex-direction: column;
    background-image: url('barber_pole.png');
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    overflow-x: hidden;
}


.rodape {
    background: rgba(0, 0, 0, 0.8);
    color: white;           /* Texto branco */
    padding: 20px 0;        /* Espaçamento interno */
    text-align: center;     /* Centraliza o texto */
    font-size: 0.8rem;
    padding: 15px;
}

main {
    flex: 1; /* Ocupa todo o espaço disponível */
    display: flex;
    flex-direction: column; /* Organiza os elementos em coluna (Card em cima, Tabela embaixo) */
    align-items: center;    /* Centraliza horizontalmente */
    justify-content: flex-start; /* Alinha no topo para não "grudar" na navbar */
    padding-top: 50px;      /* Espaço entre a Navbar e o primeiro Card */
    padding-bottom: 50px;   /* Espaço antes do rodapé */
}

.bg-nav{
    background-color: #191919;
}

.bg-hr {
    background-color: grey;
}



/* Estilização tela login */

.fundo-login{
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    overflow: hidden; /* DESATIVA A BARRA DE ROLAGEM */
    
    font-family: var(--fonte-principal);
    -webkit-font-smoothing: antialiased; /* Deixa a fonte mais nítida no Mac/Chrome */
    -moz-osx-font-smoothing: grayscale; 
}

.container {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.login-card {
    width: 500px;
    height: 380px;
    
    /* Transparência no fundo */
    background: rgba(255, 255, 255, 0.15); 
    
    /* O "Pulo do Gato": Desfoque do que está atrás */
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(15px); /* Suporte para Safari */
    
    /* Bordas e Sombras */
    border-radius: 20px;
    border: 1px solid rgba(255, 255, 255, 0.3); /* Borda fina e clara */
    box-shadow: 0 8px 32px 0 rgba(0, 0, 0, 0.2);
    
    /* Centralizar conteúdo dentro do quadrado */
    padding: 40px;
    color: white;
}

.login-card h1 {
    text-align: center;
    margin-bottom: 15px;
    font-size: 1.0rem;
    letter-spacing: 1px;
}

/* Labels e Inputs */
.input-group {
    margin-bottom: 20px;
}

.input-group label {
    display: block;
    font-size: 0.7rem;
    font-weight: 300;
    margin-bottom: 8px;
}

.input-group input {
    width: 100%;
    padding: 12px;
    border-radius: 8px;
    border: 1px solid rgba(255, 255, 255, 0.3);
    background: rgba(255, 255, 255, 0.1);
    color: white;
    outline: none;
    transition: 0.3s;
}

.input-group input::placeholder {
    color: rgba(255, 255, 255, 0.5);
}

.input-group input:focus {
    background: rgba(255, 255, 255, 0.2);
    border-color: white;
}

/* Botão Estilizado */
.btn-entrar {
    width: 100%;
    padding: 12px;
    border: none;
    border-radius: 8px;
    background: #00d2ff; /* Cor vibrante para destaque */
    background: linear-gradient(to right, #00d2ff, #3a7bd5);
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: transform 0.2s, hover 0.3s;
    margin-top: 5px;
}

.btn-entrar:hover {
    transform: translateY(-2px);
    box-shadow: 0 5px 15px rgba(0, 210, 255, 0.4);
}



/* Estilização tela Usuário(user_access) */


.dashboard-card {
    width: 95%; /* Ocupa quase toda a largura disponível no container */
    max-width: 1200px; /* Define um limite máximo maior para telas grandes */
    min-width: 320px; /* Largura mínima para celulares pequenos */    
    min-height: auto !important;
    background: rgba(255, 255, 255, 0.1);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border-radius: 25px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 40px;
    display: block; /* Mantém como bloco para empilhar verticalmente */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
}

.table-card {
    width: 95%; /* Ocupa quase toda a largura disponível no container */
    max-width: 1200px; /* Define um limite máximo maior para telas grandes */
    min-width: 320px; /* Largura mínima para celulares pequenos */    
    min-height: auto !important;
    background: rgba(145, 145, 145, 0.8);
    backdrop-filter: blur(40px);
    -webkit-backdrop-filter: blur(40px);
    border-radius: 25px;
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 40px;
    display: block; /* Mantém como bloco para empilhar verticalmente */
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 2rem;
}

.welcome-text {
    font-size: 2.5rem;
    margin-bottom: 40px;
    text-align: left;
    font-weight: 400;
    color: white;
}

/* Container dos botões */
.menu-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 colunas iguais */
    gap: 20px;
}

/* Estilo de cada item do menu */
.menu-item {
    text-decoration: none;
    color: white;
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 20px;
    padding: 30px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.menu-item:hover {
    background: rgba(255, 255, 255, 0.2);
    transform: translateY(-10px);
    border-color: #00d2ff;
}

/* Ícones */
.icon-box {
    font-size: 3rem;
    margin-bottom: 15px;
}

.menu-item span {
    font-size: 1.1rem;
    font-weight: 700;
    letter-spacing: 1px;
}

/* Responsividade para celulares */
@media (max-width: 600px) {
    .menu-grid {
        grid-template-columns: 1fr;
    }
    .welcome-text h1 {
        font-size: 1.8rem;
        text-align: center;
    }
}


/* Inputs transparentes como na imagem */
.input-transparente {
    background: rgba(255, 255, 255, 0.2) !important;
    border: none !important;
    border-radius: 5px !important;
    color: white !important;
    height: 35px;
}

.input-transparente:focus {
    background: rgba(255, 255, 255, 0.3) !important;
    box-shadow: none;
}

/* Tabela Customizada */
.table-dark-custom {
    background: transparent !important;
    border-collapse: collapse;
    width: 100%;
    color: white !important;
}

.table-dark-custom thead th {
    border: none;
    color: rgba(255, 255, 255, 0.6);
    font-weight: 400;
    font-size: 0.9rem;
    padding-bottom: 20px;
}

.table-dark-custom tbody tr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2); /* Linhas horizontais sutis */
    transition: 0.3s;
}

.table-dark-custom tbody tr:hover {
    background: rgba(255, 255, 255, 0.05);
}

.table-dark-custom td {
    padding: 15px 10px;
    font-size: 0.95rem;
    vertical-align: middle;
}

/* Ajuste no dashboard-card para ser flexível */
.dashboard-card {
    height: auto !important; /* Permite que o card cresça com a tabela */
    min-height: auto !important;
}

.nav-link {
    font-size: 0.9rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    transition: 0.3s;
}

.nav-link:hover {
    color: #00d2ff !important;
}

.bg-nav {
    background-color: rgba(25, 25, 25, 0.95) !important; /* Quase preto com leve transparência */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    height: 60px;
}


/* Efeito de hover suave nos ícones */
.text-info:hover, .text-warning:hover, .text-danger:hover {
    filter: brightness(1.3);
    transition: 0.3s;
    transform: scale(1.1);
    display: inline-block;
}

/* Remove qualquer borda ou contorno do botão de lixeira */
button.btn-link:focus, button.btn-link:active {
    outline: none !important;
    box-shadow: none !important;
    text-decoration: none;
}