/* ===============================================
//                 ESTILOS GERAIS
// =============================================== */
body {
    font-family: 'Inter', sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.sidebar {
    background-color: #2c3e50;
}

.nav-link:hover {
    background-color: #34495e;
}

.btn-primary {
    background-color: #f39c12; /* Laranja */
    color: white;
    transition: background-color 0.3s;
}

.btn-primary:hover {
    background-color: #e67e22;
}

.modal-header {
    background-color: #3498db; /* Azul cabeçalho modal */
    color: white;
}

.view-section {
    display: none;
}

.view-section.active {
    display: block;
    animation: fadeIn 0.5s;
}

/* Animação para o modal e seções */
@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

@keyframes fade-in-up {
    from {
        opacity: 0;
        transform: translateY(20px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-fade-in-up {
    animation: fade-in-up 0.3s ease-out forwards;
}

/* Estilo para campos de formulário */
input[type="text"],
input[type="email"],
input[type="password"],
input[type="date"],
input[type="number"],
input[type="file"],
select,
textarea {
    border: 1px solid #ccc;
    padding: 0.5rem;
    border-radius: 0.375rem;
}

input:focus, select:focus, textarea:focus {
     border-color: #f39c12;
     box-shadow: 0 0 0 2px rgba(243, 156, 18, 0.5);
     outline: none;
}


/* Efeito Zebra nas tabelas */
tbody tr:nth-child(even) {
    background-color: #e9ecef;
}


/* ===============================================
//              ESTILOS DO TOAST
// =============================================== */
#toast-container {
    position: fixed;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 9999;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}

.toast {
    display: flex;
    align-items: center;
    padding: 1rem;
    border-radius: 0.5rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    color: white;
    animation: slide-in-right 0.5s forwards;
    opacity: 0;
    transform: translateX(100%);
    width: 350px;
}

.toast.removing {
    animation: slide-out-right 0.5s forwards;
}

.toast-success {
    background-color: #2ecc71; /* Verde */
}

.toast-error {
    background-color: #e74c3c; /* Vermelho */
}

.toast .icon {
    font-size: 1.5rem;
    margin-right: 1rem;
}

@keyframes slide-in-right {
    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slide-out-right {
    from {
        opacity: 1;
        transform: translateX(0);
    }
    to {
        opacity: 0;
        transform: translateX(100%);
    }
}

/* ===============================================
//              CONTROLE DE PERMISSÕES
// =============================================== */

/* Esconde todos os controles de edição por padrão */
.edit-only {
    display: none !important;
}
/* Esconde todas as colunas de Ações por padrão */
th.edit-only, td.edit-only {
    display: none !important;
}


/* ADMIN: Mostra todos os controles de edição */
body.is-admin .edit-only {
    display: inline-flex !important; /* Para botões */
}
body.is-admin th.edit-only, 
body.is-admin td.edit-only {
    display: table-cell !important; /* Para células da tabela */
}


/* PERMISSÕES ESPECÍFICAS: Mostra controles de edição por módulo */
body.clientes-edicao #clientes-view .edit-only,
body.obras-edicao #obras-view .edit-only,
body.ferramentas-edicao #ferramentas-view .edit-only,
body.estoque-edicao #estoque-view .edit-only,
body.funcionarios-edicao #funcionarios-view .edit-only,
body.carros-edicao #carros-view .edit-only,
body.locacoes-edicao #locacoes-view .edit-only {
    display: inline-flex !important;
}
body.clientes-edicao #clientes-view th.edit-only, 
body.clientes-edicao #clientes-view td.edit-only,
body.obras-edicao #obras-view th.edit-only,
body.obras-edicao #obras-view td.edit-only,
body.ferramentas-edicao #ferramentas-view th.edit-only,
body.ferramentas-edicao #ferramentas-view td.edit-only,
body.estoque-edicao #estoque-view th.edit-only,
body.estoque-edicao #estoque-view td.edit-only,
body.funcionarios-edicao #funcionarios-view th.edit-only,
body.funcionarios-edicao #funcionarios-view td.edit-only,
body.carros-edicao #carros-view th.edit-only,
body.carros-edicao #carros-view td.edit-only,
body.locacoes-edicao #locacoes-view th.edit-only,
body.locacoes-edicao #locacoes-view td.edit-only {
    display: table-cell !important;
}


/* Esconde todos os links de navegação por padrão (exceto dashboard e sair) */
.nav-link[data-view="clientes"],
.nav-link[data-view="obras"],
.nav-link[data-view="ferramentas"],
.nav-link[data-view="estoque"],
.nav-link[data-view="funcionarios"],
.nav-link[data-view="carros"],
.nav-link[data-view="locacoes"],
.nav-link[data-view="configuracoes"] {
    display: none;
}

/* Mostra links de navegação para ADMIN */
body.is-admin .nav-link {
    display: flex !important;
}

/* Mostra links de navegação baseado em permissão (visualização OU edição) */
body.clientes-visualizacao .nav-link[data-view="clientes"],
body.clientes-edicao .nav-link[data-view="clientes"],
body.obras-visualizacao .nav-link[data-view="obras"],
body.obras-edicao .nav-link[data-view="obras"],
body.ferramentas-visualizacao .nav-link[data-view="ferramentas"],
body.ferramentas-edicao .nav-link[data-view="ferramentas"],
body.estoque-visualizacao .nav-link[data-view="estoque"],
body.estoque-edicao .nav-link[data-view="estoque"],
body.funcionarios-visualizacao .nav-link[data-view="funcionarios"],
body.funcionarios-edicao .nav-link[data-view="funcionarios"],
body.carros-visualizacao .nav-link[data-view="carros"],
body.carros-edicao .nav-link[data-view="carros"],
body.locacoes-visualizacao .nav-link[data-view="locacoes"],
body.locacoes-edicao .nav-link[data-view="locacoes"] {
    display: flex !important;
}

/* Ajuste para o modal de log de carro, caso a altura do corpo ultrapasse o limite */
#car-log-modal #modal-body {
    max-height: 60vh;
}

