/* Importa uma fonte mais moderna (opcional) */
@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;700&display=swap');

/* Reset básico e definições gerais */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Roboto', sans-serif;
    line-height: 1.6;
    background-color: #f4f7f9; /* Cor de fundo suave */
    color: #333;
    padding-bottom: 60px; /* Espaço para o footer fixo (se usar) */
}

/* Cabeçalho */
header {
    background-color: #2c3e50; /* Azul escuro */
    color: #ecf0f1; /* Cor de texto clara */
    padding: 2rem 1rem;
    text-align: center;
    margin-bottom: 2rem;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

header h1 {
    margin-bottom: 0.5rem;
    font-weight: 700;
}

header h1 i {
    margin-right: 10px; /* Espaço entre ícone e texto do título */
}

header p {
    color: #bdc3c7; /* Cinza claro */
    font-size: 1rem;
}

/* Conteúdo Principal */
main {
    max-width: 900px; /* Largura máxima para melhor leitura */
    margin: 0 auto; /* Centraliza o conteúdo */
    padding: 0 1rem; /* Espaçamento lateral */
}

main h2 {
    color: #34495e; /* Azul acinzentado */
    margin-bottom: 1.5rem;
    border-bottom: 2px solid #bdc3c7;
    padding-bottom: 0.5rem;
    font-weight: 700;
}

main h2 i {
    margin-right: 8px;
}

/* Lista de Projetos/Ferramentas */
#project-list {
    list-style-type: none; /* Remove os marcadores padrão da lista */
    padding: 0;
}

#project-list li {
    margin-bottom: 1rem; /* Espaçamento entre os itens da lista */
    background-color: #ffffff; /* Fundo branco para cada item */
    border-radius: 8px; /* Bordas arredondadas */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out; /* Transição suave */
}

#project-list li:hover {
    transform: translateY(-3px); /* Efeito de levantar ao passar o mouse */
    box-shadow: 0 5px 10px rgba(0, 0, 0, 0.12);
}

#project-list li a {
    display: flex; /* Usa flexbox para alinhar ícone e texto */
    align-items: center; /* Alinha verticalmente o ícone e o texto */
    padding: 1.5rem; /* Espaçamento interno do link */
    text-decoration: none; /* Remove o sublinhado do link */
    color: inherit; /* Herda a cor do texto do elemento pai */
    border-radius: 8px; /* Garante que o raio da borda se aplique ao link */
}

#project-list li a .list-icon {
    font-size: 1.8em; /* Tamanho do ícone */
    color: #3498db; /* Cor azul para os ícones */
    margin-right: 1.5rem; /* Espaço entre o ícone e o bloco de texto */
    width: 40px; /* Largura fixa para alinhamento */
    text-align: center;
}

#project-list li a div {
    flex-grow: 1; /* Faz o bloco de texto ocupar o espaço restante */
}

#project-list li a h3 {
    color: #2c3e50; /* Cor do título do item */
    margin-bottom: 0.3rem;
    font-size: 1.2rem;
    font-weight: 700;
}

#project-list li a p {
    color: #555; /* Cor do texto descritivo */
    font-size: 0.95rem;
    font-weight: 300;
}


/* Rodapé */
footer {
    background-color: #2c3e50; /* Mesma cor do header */
    color: #bdc3c7; /* Cor de texto clara */
    text-align: center;
    padding: 1rem 0;
    margin-top: 3rem;
    font-size: 0.9rem;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
}

/* Responsividade */
@media (max-width: 600px) {
    header {
        padding: 1.5rem 1rem;
    }
    header h1 {
        font-size: 1.8rem;
    }
    #project-list li a {
        padding: 1rem;
    }
    #project-list li a .list-icon {
        font-size: 1.5em;
        margin-right: 1rem;
    }
     #project-list li a h3 {
        font-size: 1.1rem;
    }
     #project-list li a p {
        font-size: 0.9rem;
    }
}

@media (prefers-color-scheme: dark) {
    body {
        background-color: #1a1a1a; /* Fundo escuro para o corpo da página */
        color: #e0e0e0; /* Texto claro */
    }

    header {
        background-color: #252525;
        color: #f0f0f0;
        box-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
    }

    header p {
        color: #a0a0a0;
    }

    main h2 {
        color: #d0d0d0;
        border-bottom-color: #555;
    }

    #project-list li {
        background-color: #2c2c2c; /* Fundo escuro para itens da lista na página inicial */
        box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
    }

    #project-list li:hover {
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.6);
    }

    #project-list li a h3 {
        color: #e0e0e0;
    }

    #project-list li a p {
        color: #b0b0b0;
    }

    footer {
        background-color: #252525;
        color: #a0a0a0;
    }

    /* Ajustes para nav.css (a navbar já é escura, mas pode precisar de refinamento) */
    .navbar {
        background-color: #202020;
        /* A cor do texto (.nav-brand, .nav-links li a) já é clara (#ecf0f1) e deve funcionar bem. */
    }

    .dropdown-content {
        background-color: #303030;
        border-color: #454545;
    }

    .dropdown-content a {
        color: #e0e0e0;
    }

    .dropdown-content a:hover {
        background-color: #404040;
        color: #ffffff;
    }

    /* --- Ajustes para Componentes Bulma e Elementos Específicos --- */

    /* Formulários (textarea, input, select) */
    .textarea,
    input[type="text"],
    input[type="number"],
    input[type="date"],
    .select select { /* Adicionado .select para o wrapper do select do Bulma */
        background-color: #2c2c2c !important;
        color: #e0e0e0 !important;
        border-color: #555 !important;
    }

    .select::after { /* Seta do select do Bulma */
        border-color: #e0e0e0 !important;
    }
    
    select option {
        background-color: #2c2c2c;
        color: #e0e0e0;
    }

    .checkbox + label, /* Para o texto ao lado do checkbox Bulma */
    input[type="radio"] + label { /* Para o texto ao lado do radio Bulma */
        color: #e0e0e0;
    }
    
    /* Textos Gerais, Títulos e Legendas */
    .label, .title, .subtitle, p, .content li { /* Adicionado .content li para listas genéricas */
        color: #e0e0e0;
    }
    
    /* Tabelas */
    .table {
        background-color: #2c2c2c;
        color: #e0e0e0; /* Cor do texto padrão da tabela */
    }

    .table th, .table td {
        border-color: #454545 !important; /* Adicionado !important se necessário */
        color: #e0e0e0;
    }
    
    .table thead th { /* Para garantir que os cabeçalhos também tenham texto claro */
         background-color: #333333 !important;
         color: #f0f0f0;
    }
    .table thead th:hover {
        background-color: #3a3a3a !important;
    }

    .table.is-striped tbody tr:nth-child(even) {
        background-color: #333333;
    }
    
    .table.is-hoverable tbody tr:hover {
        background-color: #3a3a3a;
    }

    /* Botões */
    .button.is-primary {
        background-color: #0069d9; /* Azul um pouco mais escuro para melhor contraste */
        border-color: transparent;
        color: #ffffff;
    }
    .button.is-primary:hover {
        background-color: #0056b3;
    }

    .button.is-info {
        background-color: #138496; /* Azul-petróleo um pouco mais escuro */
        border-color: transparent;
        color: #ffffff;
    }
    .button.is-info:hover {
        background-color: #117a8b;
    }

    .button.is-success {
        background-color: #218838; /* Verde mais escuro */
        border-color: transparent;
        color: #ffffff;
    }
    .button.is-success:hover {
        background-color: #1e7e34;
    }
    
    .button.is-warning {
        background-color: #e0a800;
        border-color: transparent;
        color: #212529; /* Texto escuro para contraste com amarelo */
    }
    .button.is-warning:hover {
        background-color: #d39e00;
    }
    
    .button:disabled, button[disabled] {
      background-color: #4a4a4a !important;
      border-color: #3c3c3c !important;
      color: #888888 !important;
      box-shadow: none;
    }

    /* Notificações */
    .notification.is-danger {
        background-color: #5c1a1a;
        color: #f0d0d0;
    }
    .notification.is-info {
        background-color: #113c4e; /* Azul escuro para info */
        color: #cce5ff;
    }
    .notification.is-success {
        background-color: #155724; /* Verde escuro para success */
        color: #d4edda;
    }
    .notification.is-warning {
        background-color: #725b13; /* Amarelo escuro para warning */
        color: #fff3cd;
    }

    /* Específico para placasdeendereco/index.html */
    #pdf-preview {
        border-color: #555;
    }

    .loader-container {
        background-color: rgba(30, 30, 30, 0.8); /* Fundo escuro para o loader */
    }

    .loader {
        border-color: #444; /* Borda base escura */
        border-top-color: #3498db; /* Mantém a cor de destaque ou ajusta */
    }
    
    /* Específico para apanha/index.html */
    .instruction-box {
        background-color: #2a2a2a;
        border-left-color: #3273dc; /* Pode manter ou escurecer um pouco */
    }
    
    .filter-column {
        background-color: #252525;
    }

    .checkbox-list label.checkbox {
        color: #e0e0e0;
    }
    
    .page-break-options {
        background-color: #3a301a; /* Um tom escuro do amarelo */
        border-left-color: #b8860b; /* Amarelo escuro */
    }

    /* Específico para endzero/index.html */
    #productNameDisplay {
        color: #e0e0e0;
    }
    #noResultsMessage {
        color: #a0a0a0;
    }

    /* Específico para simcomp/index.html */
    .table-container { /* Se precisar de um fundo diferente para o container da tabela */
        background-color: #1e1e1e; 
    }
    .equal {
        background-color: #2a4b2f !important; 
        color: #c8e6c9 !important;
    }
    .different {
        background-color: #594f2c !important; 
        color: #fff9c4 !important;
    }
    .highly-different {
        background-color: #5d2a2f !important;
        color: #f8d7da !important;
    }
    .similarity-high {
        background-color: #1b5e20 !important;
    }
    .similarity-medium {
        background-color: #795548 !important;
    }
    .similarity-low {
        background-color: #b71c1c !important;
    }
    .dashboard {
        background-color: #252525 !important;
        box-shadow: 0 2px 5px rgba(0,0,0,0.5) !important;
    }
    .dashboard-value {
        color: #e0e0e0 !important;
    }
    .dashboard-label {
        color: #a0a0a0 !important;
    }
    .filter-panel {
        background-color: #303030 !important;
    }
    .modal-card {
        background-color: #333333 !important;
    }
    .modal-card-head {
        background-color: #2c2c2c !important;
        border-bottom-color: #454545 !important;
    }
    .modal-card-title {
        color: #e0e0e0 !important;
    }
    .modal-card-body {
        background-color: #333333 !important;
        color: #d0d0d0 !important;
    }
    .modal-card-body p, .modal-card-body h4, .modal-card-body li, .modal-card-body .columns p { /* Adicionado .modal-card-body .columns p */
        color: #d0d0d0 !important;
    }
    .modal-card-body .notification.is-success { background-color: #2a4b2f !important; color: #c8e6c9 !important; }
    .modal-card-body .notification.is-warning { background-color: #594f2c !important; color: #fff9c4 !important; }
    .modal-card-body .notification.is-danger  { background-color: #5d2a2f !important; color: #f8d7da !important; }

    .modal-card-foot {
        background-color: #2c2c2c !important;
        border-top-color: #454545 !important;
    }
    .highlight-match {
        background-color: #2e7d32 !important;
        color: #e8f5e9 !important;
    }
    .notification-area .notification { /* Toast messages */
        background-color: #333333;
        color: #e0e0e0;
        box-shadow: 0 4px 6px rgba(0,0,0,0.5);
    }
     .notification-area .notification.is-success { background-color: #1b5e20 !important; color: #c8e6c9 !important; }
     .notification-area .notification.is-warning { background-color: #795548 !important; color: #fff3cd !important;}
     .notification-area .notification.is-danger  { background-color: #b71c1c !important; color: #f8d7da !important;}

    .tabs.is-boxed li.is-active a {
        background-color: #1e1e1e !important;
        border-color: #454545 !important;
        color: #e0e0e0 !important;
    }
    .tabs.is-boxed a {
        border-color: #454545 !important;
        color: #a0a0a0 !important;
    }
    .tabs.is-boxed a:hover {
        background-color: #252525 !important;
        border-color: #555 !important;
        color: #f0f0f0 !important;
    }

    /* Específico para etiquetaprod/index.html */
    #pdfPreview { /* O iframe em si, não o conteúdo */
        border-color: #555;
    }
    .box { /* Se a div .box ao redor do iframe precisar de ajuste */
        background-color: #252525;
    }
}