.gq-busca {
    max-width: 900px;
    margin: 0 auto;
    font-family: inherit;
}

.gq-form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    margin-bottom: 8px;
}

.gq-campo {
    display: flex;
    flex-direction: column;
    flex: 1 1 160px;
}

.gq-campo label {
    font-size: 0.85em;
    font-weight: 600;
    margin-bottom: 4px;
}

.gq-campo input,
.gq-campo select {
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 1em;
}

.gq-botao-buscar,
.gq-carregar-mais {
    padding: 9px 20px;
    background: #1a5c3a;
    color: #fff;
    border: none;
    border-radius: 6px;
    font-weight: 600;
    cursor: pointer;
}

.gq-botao-buscar:hover,
.gq-carregar-mais:hover {
    background: #144a2f;
}

.gq-carregar-mais {
    display: block;
    margin: 16px auto 0;
}

.gq-aviso {
    font-size: 0.8em;
    color: #666;
    margin: 4px 0 16px;
}

.gq-resultado {
    overflow-x: auto; /* tabela larga não deve estourar a página no mobile */
}

.gq-tabela {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.9em;
}

.gq-tabela th,
.gq-tabela td {
    text-align: left;
    padding: 8px 10px;
    border-bottom: 1px solid #e5e5e5;
    white-space: nowrap;
}

.gq-tabela th {
    background: #f5f5f5;
    font-weight: 600;
}

.gq-carregando,
.gq-vazio {
    color: #666;
    padding: 20px 0;
}

.gq-erro {
    color: #a33;
    padding: 12px;
    background: #fdecea;
    border-radius: 6px;
}

@media (prefers-color-scheme: dark) {
    .gq-campo input,
    .gq-campo select {
        background: #222;
        color: #eee;
        border-color: #444;
    }
    .gq-tabela th {
        background: #222;
    }
    .gq-tabela th,
    .gq-tabela td {
        border-bottom-color: #333;
    }
}
